Я пытался заставить работать этот простой вариант использования, но не могу: определить порог INFO по умолчанию для приложения FILE, но определить категорию с уровнем DEBUG. Это файл jboss 4.2.1.GA log4j.xml, который я использую, где я просто хочу записывать вызовы java.sql.
<appender name="SQL_FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/sql.log"/>
<param name="Append" value="false"/>
<param name="Threshold" value="INFO"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %C %m%n"/>
</layout>
</appender>
<category name="java.sql">
<priority value="DEBUG"/>
<appender-ref ref="SQL_FILE"/>
</category>
<root>
<appender-ref ref="SQL_FILE"/>
</root>
Вместо регистрации просто java.sql он регистрирует INFO и выше и не содержит никакой информации java.sql. Если нет простого решения, то мне остается установить для порога appender значение DEBUG и отключить ведение журнала для нескольких включенных категорий, что кажется пустой тратой времени.
Я попробовал следующее, но не смог заставить его работать: Настройка нескольких файлов журнала в log4j при использовании категорий .