2010-01-08 6 views
1

У меня есть приложение, работающее в контейнере jboss с использованием спящего режима. Однако у меня возникают проблемы с протоколированием, которое делает спящий режим. Я получаю эти сообщения о запуске при инициализации Hibernate:Управление ведением журнала спящего режима

2010-01-08 17:23:42,017 INFO [Configuration:1403] - Configuration resource: /hibernate.cfg.xml 
2010-01-08 17:23:42,070 INFO [Configuration:1541] - Configured SessionFactory: null 

И так далее. Однако я бы хотел избавиться от них, потому что это бесполезная информация. У меня есть следующие конфигурации в моих log4j.properties:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%c{1}:%L] - %m%n 

log4j.rootCategory = error, stdout 

# Hibernate 
log4j.logger.org.hibernate=error 
log4j.logger.org.hibernate.tool.hbm2ddl=fatal 

Как вы можете видеть, протоколирование ли соответствующий формат указанного в моем ConversionPattern. Однако я все еще получаю сообщения INFO. Я также с помощью Asterisk-Java API:

# Asterisk java 
log4j.logger.org.asteriskjava=error 

Это действительно работает должным образом, как я только получаю ошибки:

2010-01-08 17:31:46,948 ERROR [AgiConnectionHandler:156] - AgiException running AgiScript com.**** on Asterisk-Java DaemonPool-1-thread-2 org.asteriskjava.fastagi.AgiException: Number is on blacklist 

, так что я немного запутался в настоящее время.

Update

При запуске контейнера с

-Dlog4j.debug 

я получаю:

log4j: Reading configuration from URL jar:file:*******.jar!/log4j.properties 
log4j: Parsing for [root] with value=[error, stdout]. 
log4j: Level token is [error]. 
log4j: Category root set to ERROR 
log4j: Parsing appender named "stdout". 
log4j: Parsing layout options for "stdout". 
log4j: Setting property [conversionPattern] to [%d %-5p [%c{1}:%L] - %m%n]. 
log4j: End of parsing for "stdout". 
log4j: Parsed "stdout" options. 
log4j: Parsing for [org.hibernate.tool.hbm2ddl] with value=[error]. 
log4j: Level token is [error]. 
log4j: Category org.hibernate.tool.hbm2ddl set to ERROR 
log4j: Handling log4j.additivity.org.hibernate.tool.hbm2ddl=[null] 
log4j: Parsing for [org.hibernate] with value=[fatal]. 
log4j: Level token is [fatal]. 
log4j: Category org.hibernate set to FATAL 
log4j: Handling log4j.additivity.org.hibernate=[null] 
log4j: Parsing for [org.asteriskjava] with value=[error]. 
log4j: Level token is [error]. 
log4j: Category org.asteriskjava set to ERROR 
log4j: Handling log4j.additivity.org.asteriskjava=[null] 
log4j: Finished configuring. 

Никакие другие файлы не загружаются вообще. Поэтому я удивляюсь, почему это не работает. Кроме того, я попытался следующие до создания сеанса завода:

Logger.getLogger("org.hibernate").setLevel(Level.ERROR); 

Нет успеха либо ...

ответ

1

Похоже другая конфигурация регистрации где-то может быть переопределение ваши. Возможно, вы захотите добавить системную переменную -Dlog4j.debug к пути запуска вашего контейнера, чтобы log4j распечатал эту информацию для отладки, которая сообщит вам, какой файл он использует для настройки. Возможно, что вместо вашего используется другой файл в пути к классам.

Кроме того, вы действительно не должны использовать% L в какой-либо среде - the Javadoc explicitly warns against this:

% L:
Используется для вывода номер строки, из которого был выдан запрос регистрации.
ПРЕДУПРЕЖДЕНИЕ Генерация информации о местонахождении вызывающего абонента чрезвычайно медленная. Его следует избегать, если скорость выполнения не является проблемой.

+0

У меня были некоторые мысли об этом, да, я попробую ваше предложение. Я знаю о проблеме% L, у меня есть отдельные файлы для производства/разработки –

+0

Я обновил свой вопрос с результатом вашего предложения –

Смежные вопросы