Логирование в L2J
Немного загрустив о L2 решил посмотреть как там использовалось логирование.
После чего был сильно опечален. Давайте рассмотрим кусочек кода Код:
public class FileLogFormatter extends Formatter Код:
return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), _, record.getLevel().getName(), _, String.valueOf(record.getThreadID()), _, record.getLoggerName(), _, record.getMessage(), Config.EOL); Код:
new Date(record.getMillis())) Рекомендую переписать немного код: Сделать поле класса Код:
private final Date date = new Date(); Код:
public String format(LogRecord record) Код:
date.setTime(record.getMillis()); Код:
dateFmt.format(new Date(record.getMillis())) Код:
dateFmt.format(date) п.с. сори, писал на быструю руку без IDE и по памяти. Если где то ошибка - сори. Так же советую посмотреть исходники http://docs.oracle.com/javase/7/docs...Formatter.html этого класса для лучшего понимания как устроено логирование в Logger-е. |
Re: Логирование в L2J
в SimpleDateFormat - метод format(Object), принимается аргумент, двох типов, Date + Long.
В итоге все заменится на Код:
return StringUtil.concat(dateFmt.format(record.getMillis()), _, record.getLevel().getName(), _, String.valueOf(record.getThreadID()), _, record.getLoggerName(), _, record.getMessage(), Config.EOL); |
Re: Логирование в L2J
Цитата:
Еще можно было типа через Код:
String.format("%1$tH:%1$tM:%1$tS %2s %3s %4s %5s%n" и т д. |
Re: Логирование в L2J
Главное, чтоб работало.
|
Re: Логирование в L2J
Цитата:
Если Вы конечно понимаете, о чем я. :dx::cl::da::dk: |
Re: Логирование в L2J
Цитата:
Как и большинство юзеров - юзают Клипсу, а она такое *овно Другие юзеры - юзают IntelliJ IDEA, она не сильно отошла от Клипсы |
Re: Логирование в L2J
dateFmt.format(record.getMillis())внутри смотрите, так же будет создаваться новый Date public final StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition fieldPosition) { if(obj instanceof Date) return format((Date) obj, toAppendTo, fieldPosition); else if(obj instanceof Number) return format(new Date(((Number) obj).longValue()), toAppendTo, fieldPosition); else throw new IllegalArgumentException("Cannot format given Object as a Date"); } Код:
String.format("%1$tH:%1$tM:%1$tS %2s %3s %4s %5s%n" и т д. Проще переделать на другой логгер, чем тут непонятные костыли ставить. |
Re: Логирование в L2J
ой сори, не то увидел. Всё ок.
п.с. затераю свой преыдущий текст :) Кто успел прочитать - тот поймет с чем я затупил) |
Re: Логирование в L2J
Цитата:
|
Re: Логирование в L2J
Цитата:
Сори) |
Текущее время: 21:45. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot