Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 14
1

Кодировка логера в консоли

27.11.2017, 16:49. Просмотров 4128. Ответов 1
Метки нет (Все метки)

Всем привет!
Возникла проблема вывода русского текста через логгер в консоль
(System.out.println("Привет Хозяин!") такое сообщение выводит нормально, а LOG.info("Привет Хозяин?"); выводит кракозябру)
Нужно чтоб выводил нормально русский текст с точечным шрифтом консоли (люсинда не устраивает)
Запуск консоли происходит из GameServer.bat
Содержимое батника:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@echo off
title Private Game Server Console
chcp 65001
:start
echo Starting Private Game Server.
 
echo.
java -Dconsole.encoding=UTF-8 -Dfile.encoding=UTF-8 -Dpython.cachedir=../cachedir -Xms512m -Xmx1212m -jar PrivateGS.jar
 
REM NOTE: If you have a powerful machine, you could modify/add some extra parameters for performance, like:
REM -Xms1536m
REM -Xmx3072m
REM -XX:+AggressiveOpts
REM Use this parameters carefully, some of them could cause abnormal behavior, deadlocks, etc.
REM More info here: [url]http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[/url]
 
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
 
:restart
echo.
echo Admin Restarted Game Server.
echo.
goto start
 
:error
echo.
echo Game Server Terminated Abnormally!
echo.
 
:end
echo.
echo Game Server Terminated.
echo.
pause
Так же есть log.cfg файл в котором настройки лога вроде
Код
############################################################
#  	Global properties
############################################################

# "handlers" specifies a comma separated list of log Handler 
# classes.  These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.
#handlers= java.util.logging.ConsoleHandler


# To also add the FileHandler, use the following line instead.
handlers = java.util.logging.FileHandler,\
		java.util.logging.ConsoleHandler,\
		com.l2jserver.log.handler.ErrorLogHandler
chat.handlers = com.l2jserver.log.handler.ChatLogHandler
chat.useParentHandlers = false
gmaudit.handlers = com.l2jserver.log.handler.GMAuditLogHandler
gmaudit.useParentHandlers = false
item.handlers = com.l2jserver.log.handler.ItemLogHandler
item.useParentHandlers = false
audit.handlers = com.l2jserver.log.handler.AuditLogHandler
audit.useParentHandlers = false
enchant.handlers = com.l2jserver.log.handler.EnchantItemLogHandler,\
		com.l2jserver.log.handler.EnchantSkillLogHandler
enchant.useParentHandlers = false
olympiad.handlers = com.l2jserver.log.handler.OlympiadLogHandler
olympiad.useParentHandlers = false
damage.handlers = com.l2jserver.log.handler.AllDamageLogHandler,\
		com.l2jserver.log.handler.PDamageLogHandler,\
		com.l2jserver.log.handler.MDamageLogHandler
damage.useParentHandlers = false
accounting.handlers = com.l2jserver.log.handler.AccountingLogHandler
accounting.useParentHandlers = false

# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers.  For any given facility this global level
# can be overridden by a facility specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
.level= CONFIG

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

# default file output is in user's home directory.
java.util.logging.FileHandler.pattern = log/java%g.log
java.util.logging.FileHandler.count = 20
java.util.logging.FileHandler.limit = 0
java.util.logging.FileHandler.formatter = com.l2jserver.log.formatter.FileLogFormatter
java.util.logging.FileHandler.level = CONFIG

# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = FINER
java.util.logging.ConsoleHandler.formatter = com.l2jserver.log.formatter.ConsoleLogFormatter

# log errors (exceptions)
com.l2jserver.log.handler.ErrorLogHandler.pattern = log/error%g.log
com.l2jserver.log.handler.ErrorLogHandler.count = 20
com.l2jserver.log.handler.ErrorLogHandler.limit = 0
com.l2jserver.log.handler.ErrorLogHandler.formatter = java.util.logging.SimpleFormatter
com.l2jserver.log.handler.ErrorLogHandler.filter = com.l2jserver.log.filter.ErrorFilter
com.l2jserver.log.handler.ErrorLogHandler.level = CONFIG

# log chats
com.l2jserver.log.handler.ChatLogHandler.pattern = log/chat.log
com.l2jserver.log.handler.ChatLogHandler.formatter = com.l2jserver.log.formatter.ChatLogFormatter
com.l2jserver.log.handler.ChatLogHandler.filter = com.l2jserver.log.filter.ChatFilter
com.l2jserver.log.handler.ChatLogHandler.append = true
com.l2jserver.log.handler.ChatLogHandler.level = INFO

# log GM Audit
com.l2jserver.log.handler.GMAuditLogHandler.pattern = log/gmaudit.log
com.l2jserver.log.handler.GMAuditLogHandler.formatter = com.l2jserver.log.formatter.GMAuditFormatter
com.l2jserver.log.handler.GMAuditLogHandler.filter = com.l2jserver.log.filter.GMAuditFilter
com.l2jserver.log.handler.GMAuditLogHandler.append = true
com.l2jserver.log.handler.GMAuditLogHandler.level = INFO

# log items
com.l2jserver.log.handler.ItemLogHandler.pattern = log/item.log
com.l2jserver.log.handler.ItemLogHandler.formatter = com.l2jserver.log.formatter.ItemLogFormatter
com.l2jserver.log.handler.ItemLogHandler.filter = com.l2jserver.log.filter.ItemFilter
com.l2jserver.log.handler.ItemLogHandler.append = true
com.l2jserver.log.handler.ItemLogHandler.level = INFO

# audit
com.l2jserver.log.handler.AuditLogHandler.pattern = log/audit.log
com.l2jserver.log.handler.AuditLogHandler.formatter = com.l2jserver.log.formatter.AuditFormatter
com.l2jserver.log.handler.AuditLogHandler.filter = com.l2jserver.log.filter.AuditFilter
com.l2jserver.log.handler.AuditLogHandler.append = true
com.l2jserver.log.handler.AuditLogHandler.level = INFO

# enchant item log
com.l2jserver.log.handler.EnchantItemLogHandler.pattern = log/enchantitem.log
com.l2jserver.log.handler.EnchantItemLogHandler.formatter = com.l2jserver.log.formatter.EnchantFormatter
com.l2jserver.log.handler.EnchantItemLogHandler.filter = com.l2jserver.log.filter.EnchantItemFilter
com.l2jserver.log.handler.EnchantItemLogHandler.append = true
com.l2jserver.log.handler.EnchantItemLogHandler.level = INFO

# enchant skill log
com.l2jserver.log.handler.EnchantSkillLogHandler.pattern = log/enchantskill.log
com.l2jserver.log.handler.EnchantSkillLogHandler.formatter = com.l2jserver.log.formatter.EnchantFormatter
com.l2jserver.log.handler.EnchantSkillLogHandler.filter = com.l2jserver.log.filter.EnchantSkillFilter
com.l2jserver.log.handler.EnchantSkillLogHandler.append = true
com.l2jserver.log.handler.EnchantSkillLogHandler.level = INFO

# olympiad log
com.l2jserver.log.handler.OlympiadLogHandler.pattern = log/olympiad.csv
com.l2jserver.log.handler.OlympiadLogHandler.formatter = com.l2jserver.log.formatter.OlympiadFormatter
com.l2jserver.log.handler.OlympiadLogHandler.append = true
com.l2jserver.log.handler.OlympiadLogHandler.level = INFO

# damage logs
com.l2jserver.log.handler.AllDamageLogHandler.pattern = log/game/_all.txt
com.l2jserver.log.handler.AllDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter
com.l2jserver.log.handler.AllDamageLogHandler.append = true
com.l2jserver.log.handler.AllDamageLogHandler.level = INFO

com.l2jserver.log.handler.PDamageLogHandler.pattern = log/game/damage_pdam.txt
com.l2jserver.log.handler.PDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter
com.l2jserver.log.handler.PDamageLogHandler.filter = com.l2jserver.log.filter.PDamageFilter
com.l2jserver.log.handler.PDamageLogHandler.append = true
com.l2jserver.log.handler.PDamageLogHandler.level = INFO

com.l2jserver.log.handler.MDamageLogHandler.pattern = log/game/damage_mdam.txt
com.l2jserver.log.handler.MDamageLogHandler.formatter = com.l2jserver.log.formatter.DamageFormatter
com.l2jserver.log.handler.MDamageLogHandler.filter = com.l2jserver.log.filter.MDamageFilter
com.l2jserver.log.handler.MDamageLogHandler.append = true
com.l2jserver.log.handler.MDamageLogHandler.level = INFO

# accounting
com.l2jserver.log.handler.AccountingLogHandler.pattern = log/accounting.log
com.l2jserver.log.handler.AccountingLogHandler.formatter = com.l2jserver.log.formatter.AccountingFormatter
com.l2jserver.log.handler.AccountingLogHandler.append = true
com.l2jserver.log.handler.AccountingLogHandler.level = CONFIG

############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
com.l2jserver.gameserver.level = CONFIG
com.l2jserver.loginserver.level = CONFIG
#com.l2jserver.gameserver.Connection.level = CONFIG
com.l2jserver.gameserver.network.serverpackets.level = FINER
com.l2jserver.gameserver.network.clientpackets.level = FINER
com.l2jserver.gameserver.model.actor.L2Character.level = FINER
com.l2jserver.gameserver.engines.DocumentEngine.level = INFO

# Alt Privileges Administration
AltPrivilegesAdmin.pattern = log/admin-commands.log
AltPrivilegesAdmin.formatter = com.l2jserver.log.formatter.FileLogFormatter
AltPrivilegesAdmin.append = true
AltPrivilegesAdmin.level = CONFIG

# c3p0 Logging
com.mchange.v2.level = WARNING
Пробовал в log.cfg добавить строчку java.util.logging.ConsoleHandler.encoding=UTF-8
ну и кодировку пробовал так же менять - java.util.logging.ConsoleHandler.encoding=Cp866
Но результата это не дает, даже при смене кодировке в этом файле иероглифы даже не меняются (в отличии смены кодировки в батнике)
Подскажите как исправить эту проблему?
Так же в log.cfg нашел такую строчку: java.util.logging.ConsoleHandler.formatter = com.l2jserver.log.formatter.ConsoleLogFormatter
Вот исходник :
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.l2jserver.log.formatter;
 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
import java.lang.StringBuilder;
 
import com.l2jserver.Config;
import com.l2jserver.util.StringUtil;
import com.l2jserver.util.Util;
 
public class ConsoleLogFormatter extends Formatter
{
    private final SimpleDateFormat dateFmt = new SimpleDateFormat("dd.MM HH:mm:ss");
    
    @Override
    public String format(LogRecord record)
    {
        final StringBuilder  output = new StringBuilder (500);
        StringUtil.append(output, "[", dateFmt.format(new Date(record.getMillis())), "] " + record.getMessage(), Config.EOL);
        
        if (record.getThrown() != null)
        {
            try
            {
                StringUtil.append(output, Util.getStackTrace(record.getThrown()), Config.EOL);
            }
            catch (Exception ex)
            {
            }
        }
        return output.toString();
    }
}
Может чем то поможет. Помогите мне, бьюсь уже несколько дней с этим.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2017, 16:49
Ответы с готовыми решениями:

Кодировка в консоли windows
Добрый день. Использую сборку проектов maven и систему логирования log4j. После запуска jar файла в...

Слетает кодировка(?) при запуске jar из консоли
Программа получает на вход input файл с текстом на русском языке, после некоторых преобразований (с...

Автоматическая инициализация логера
Доброго времени суток:) Пытаюсь разобраться в следующем вопросе (ситуации): пусть есть простейшее...

Eclipse настройка логера
Добрый вечер, сильно не ругайте, но вечер, воскресенье, голова не думает.... не понимаю что делаю...

1
1 / 1 / 0
Регистрация: 10.08.2014
Сообщений: 64
01.08.2020, 20:04 2
Такая же проблема! как решил?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2020, 20:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Кодировка в консоли при работе с jdbc. Windows 10
Здравствуйте! Наблюдается проблема с кодировкой при работе с jdbc. Как исправить проблему?

Кодировка в консоли VS
Здравствуйте! Проблема вот в чём: Необходимо, чтобы текст отображался точно также, как в...

Кодировка в консоли
поставил VisualStudio, там подтянул Node все запускается и работает. почти все ) даже если...

Кодировка в консоли VS
Есть код. В нем конструкция проверяющая введенные данные. (Типа примитивной авторизации)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.