0 / 0 / 0
Регистрация: 11.07.2010
Сообщений: 7
|
|
1 | |
Есть ли в log4j возможность одновременно логировать в разные файлы?15.07.2010, 15:45. Показов 13940. Ответов 8
Метки нет Все метки)
(
Не подскажете как можно настроить log4j что бы иметь лог только своего приложения (ejb под jboss), без служебной информации jbossa. Возможен вариант что лежат 2-3 приложения. Хотелось бы иметь логи в разные файлы. У меня пока все работает, но пишет исключительно в один файл.
0
|
|
15.07.2010, 15:45 | |
Ответы с готовыми решениями:
8
Log4j в разные файлы
Есть ли возможность увидеть структуру таблиц, если есть только файлы frm? |
0 / 0 / 2
Регистрация: 29.09.2009
Сообщений: 48
|
|
19.07.2010, 14:26 | 2 |
Нужно создать свой логгер (Logger), обозвав его как нить и с этим же именем настроить файл аппендер в log4j.properties.
Выглядит примерно так log4j.logger.APP=DEBUG, A5, F5 log4j.appender.A5=org.apache.log4j.ConsoleAppender log4j.appender.A5.layout=org.apache.log4j.PatternLayout log4j.appender.A5.layout.ConversionPattern=[%d{dd MMM yyyy HH:mm:ss,SS}] SYN %-5p %m %n log4j.appender.F5=org.apache.log4j.RollingFileAppender log4j.appender.F5.file=@log_folder@/application.log log4j.appender.F5.MaxFileSize=10000KB log4j.appender.F5.MaxBackupIndex=9999 log4j.appender.F5.layout=org.apache.log4j.PatternLayout log4j.appender.F5.layout.ConversionPattern=[%d{dd MMM yyyy HH:mm:ss,SS}] %-5p %m %n т.е. есть логгер под названием APP , к которому есть два аппендера консольный и файловый. в коде примерно так : logger = Logger.getLogger('APP'); // инициализируете единожды при старте приложения. И логируете в энтот логгер.
0
|
0 / 0 / 0
Регистрация: 11.07.2010
Сообщений: 7
|
|
20.07.2010, 16:51 [ТС] | 3 |
Спасибо большое за отклик, честно говоря уже и не ожидал кого-нибудь услышать :-)
Проблема заключается в том, что мне необходимо иметь лог в которое пишет только мое приложение и больше никто. Т.е. если я указываю логгеру два аппендера пишущих в файл, он пишет в два разных файла(замечательно) одну и ту же информацию, в основном служебную jbossa(плюс конечно мои сообщения). А мне надо что бы часть информации с одних ejb шла в один файл, а часть, с других ejb, соответственно, в другой. И что бы кроме этих ejb туда никто не писал. Ни jboss, ни царь и не герой. Как я понимаю для этого надо создать два логгера... Не подскажете с настройкой? Кстати я имею право использовать public static final Logger log = Logger.getLogger('USER'); в ejb? Меня уверяли что static использовать в ejb нельзя из-за реализации сервера. Но думаю final можно?
0
|
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 111
|
|
20.07.2010, 19:42 | 4 |
А может логи лучше в базу писать? Хотя бы можно выборку сделать, отчетность какую-нибудь............
0
|
0 / 0 / 0
Регистрация: 11.07.2010
Сообщений: 7
|
|
21.07.2010, 09:12 [ТС] | 5 |
Требование было писать в файл :-(
В базу можно дублировать. Но это второстепенный наворот. Хорошо, а в базу тоже аппендер настраивается? Я некоторые штуки запустить не могу. Например log4j упорно отказывается слать мне письма :-).
0
|
0 / 0 / 2
Регистрация: 29.09.2009
Сообщений: 48
|
|
21.07.2010, 13:09 | 6 |
2 kid3194
1. По поводу ejb: Думаю со статикой заморочек никаких не будет, но я бы сделал некий синглетон, предоставляющий логгеры , например по имени конкретного бина. Ну и из бина дергать соответствующий ему логгер. 2. По поводу базы: подход работает, но надо реализовывать свой аппендер. Где то у меня это было - если понадобится , то могу покопатся - найти пример кода.
0
|
0 / 0 / 0
Регистрация: 11.07.2010
Сообщений: 7
|
|
21.07.2010, 14:59 [ТС] | 7 |
Был бы очень благодарен за пример. Но честно говоря проблема осталась. :-(
Т.е в лог идет служебная информация jbossa под уровнем debug и выше. Мне же надо что бы писало только мое приложение. А можно создать свой уровень лога, например не debug a dbg и разрешить писать в файл только этому уровню(ну и выше если есть с-ма приоритетов)? Меня бы такое решение вполне устроило. Я пробовал ограничивать уровнем info - все равно много информации. Честно говоря у меня есть свой логгер, коорый позволяет заводить сколько угодно уровней дебага, поэтому я удивлен что в лог4j их только 5. Если неправ - буду только рад. Насчет синглтона, конечно будет нечто подобное, просто не хочу это здесь обсуждать что бы не уходить от темы :-)
0
|
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 111
|
|
21.07.2010, 15:00 | 8 |
kid3194, с базой там делается не сложнее чем для файла, когда мне это понадобилось, я в русском (!) инете нашел небольшое хорошее описание юзания log4j. Родной мануал отдыхает =)
0
|
0 / 0 / 0
Регистрация: 11.07.2010
Сообщений: 7
|
|
21.07.2010, 15:36 [ТС] | 9 |
О, я тоже нашел две неплохие статьи на русском, скачал родной мануал, но проблему так и не решил. Ладно, с базой я сам разберусь вы просто подскажите есть такая возможность(что бы в лог писал только bean) или нет. Может я хочу что бы каждай bean писал в свой файл :-)
Так, может мне от Priority наследовать что бы свой level создать? Но в любом случае будут показываться другие уровни дебага....
0
|
21.07.2010, 15:36 | |
21.07.2010, 15:36 | |
Помогаю со студенческими работами здесь
9
Есть ли возможность запускать jar файлы которые выводят лог в консоль, без ввода? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |