|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
MakcuK-_- : 20 Новичок
|
Фев 13, 2012 23:15 |
|
|
Допустим я использую log4j.
Есть ли возможность настроить его таким образом, чтоб он выдавал результаты например в StringBuffer или в че-нибудь типо swt-шного text или swing-овский jtextfield?
по возможности можно кинуть ссылки на этот момент в доке. |
|
|
|
 |
pjotar : 453 Бывалый Откуда: Санкт-Петербург
|
Фев 14, 2012 9:17 |
|
|
Вполне. У меня для свингового аппа журнал был сделан из лога. Ну короче типа так:
| Код: |
MyAppender implements Appender{
append(Event e){
//добавляем иконку соответсвенно уровню
//пишем в журнал, выделяя цветом
//для варнингов и ерроров можно показывать диалог
}
}
|
|
|
|
|
 |
pjotar : 453 Бывалый Откуда: Санкт-Петербург
|
Фев 14, 2012 9:21 |
|
|
| а Вам для SWT или Swing? А то может мой возмёте? |
|
|
|
 |
MakcuK-_- : 20 Новичок
|
Фев 14, 2012 13:03 |
|
|
| pjotar писал(а): |
| а Вам для SWT или Swing? А то может мой возмёте? |
у меня swt внутри jface'а
Что-то не особо понял ваш пример.
По сути наверное даже будет проще сделать просто перенаправление всей консоли. Такое тоже возможно?
Тут дело ведь в том, что я подключаю jar-ник(внутри него лежат как раз таки настройки логера) к новому проекту.
А если даже и догадываюсь, то там же есть метод doAppend.
Если я правильно понял, то в методе append вы кидаете лог в какой-нить jtextfield? |
|
|
|
 |
pjotar : 453 Бывалый Откуда: Санкт-Петербург
|
Фев 14, 2012 13:35 |
|
|
| MakcuK-_- писал(а): |
Что-то не особо понял ваш пример.
|
1. реализуете интерфейс org.apache.log4j.Appender
2. в конфиге log4j добавляете Ваш аппендер наряду с консольным и файловым
| MakcuK-_- писал(а): |
По сути наверное даже будет проще сделать просто перенаправление всей консоли. Такое тоже возможно?
|
Помоему не проще, даже если суметь - потеряется LoggingEvent как объект, останется плоский текст.
| MakcuK-_- писал(а): |
Тут дело ведь в том, что я подключаю jar-ник(внутри него лежат как раз таки настройки логера) к новому проекту.
|
Там log4j.properties? В любом случае, сконфигурировать можно.
| MakcuK-_- писал(а): |
А если даже и догадываюсь, то там же есть метод doAppend.
Если я правильно понял, то в методе append вы кидаете лог в какой-нить jtextfield? |
Ага, подсвечивая его соответсвующим уровню цветом. |
|
|
|
 |
MakcuK-_- : 20 Новичок
|
Фев 14, 2012 21:08 |
|
|
| если не трудно, приведите законченный пример log4j.properties |
|
|
|
 |
pjotar : 453 Бывалый Откуда: Санкт-Петербург
|
Фев 14, 2012 21:14 |
|
|
| Нет проблем. Ближе к полуночи МСК, как дома буду. |
|
|
|
 |
MakcuK-_- : 20 Новичок
|
Фев 14, 2012 21:15 |
|
|
log4j.rootLogger=DEBUG, stdout , text
log4j.appender.stdout.Encoding=UTF-8
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=...
log4j.appender.stdout.Encoding=UTF-8
log4j.appender.stdout=[здесь я прописываю название класса, который отнаследованный от org.apache.log4j.Appender?]
...
здесь stdout старый логер, который уже был, а text то, чем я буду пользоваться для отображения |
|
|
|
 |
pjotar : 453 Бывалый Откуда: Санкт-Петербург
|
Фев 14, 2012 21:18 |
|
|
| во втором блоке забыли поменять stdout на text |
|
|
|
 |
MakcuK-_- : 20 Новичок
|
Фев 14, 2012 21:38 |
|
|
это я просто скопипастил.
вообще копипаст под конец дня это опасная операция. |
|
|
|
 |
MakcuK-_- : 20 Новичок
|
Фев 15, 2012 19:14 |
|
|
| у меня проблема другого рода возникла, вызванная тем, что этот jar-ник не видит appender'а, описанного в другом проекте. |
|
|
|
 |
MakcuK-_- : 20 Новичок
|
Фев 16, 2012 22:12 |
|
|
| всё-таки скиньте настройки, плс |
|
|
|
 |
pjotar : 453 Бывалый Откуда: Санкт-Петербург
|
Фев 16, 2012 22:28 |
|
|
| Код: |
log4j.rootCategory=TRACE, O, SwingLog
#SwingLog
log4j.appender.SwingLog=ru.pjotar.swinglog.MyAppender
log4j.appender.SwingLog.Threshold=INFO
#log4j.appender.SwingLog.layout=org.apache.log4j.PatternLayout
#log4j.appender.SwingLog.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
#Console
log4j.appender.O=org.apache.log4j.ConsoleAppender
log4j.appender.O.layout=org.apache.log4j.PatternLayout
log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
log4j.appender.O.Threshold=TRACE
|
Сейчас заметил: .layout и .layout.ConversionPattern моему не нужны. |
|
|
|
 |
pjotar : 453 Бывалый Откуда: Санкт-Петербург
|
Фев 16, 2012 22:33 |
|
|
| Кстати, указание Encoding=UTF-8 для чего? А то у меня на GNU/Linux кириллица вопросиками (63ий символ ASCII). |
|
|
|
 |
Skipy : 4805 Я тут живу! Откуда: Москва, Россия
|
Фев 17, 2012 14:31 |
|
|
Вопросы появляются, когда невозможно распознать кодировку. Например, читать русский текст в Cp1251 как UTF-8. С точки зрения UTF-8 русские символы Cp1251 не могут существовать - они противоречат принципам построения UTF-8. Потому каждый нераспознанный байт декодировщик в java заменяет на '?'.
Еще пример - в кодировке Cp1251 нет байта 0x98. А русский символ 'И' в UTF-8 - 0xD098. И если прочитать правильную UTF-8 как Cp1251 - там, где есть символ 'И', появится вопрос на месте второго байта (первым будет D0 - 'Р'). _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
|
|
Страница 1 из 1
|
Список форумов
-> Разное |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|