【发布时间】:2017-05-09 23:55:35
【问题描述】:
我在配置我的 log4j2.xml 文件以包含休眠日志时遇到问题。
这是我的 xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="TRACE">
<Properties>
<Property name="logDir" value="${env:MY_APP}/logs"/>
</Properties>
<Appenders>
<RollingFile name="MY_APP" fileName="${logDir}/my_app.log" bufferedIO="true" filePattern="${logDir}/my_app-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout pattern="[%t] %d %-5p %x %m%n"/>
<Policies>
<OnStartupTriggeringPolicy/>
<TimeBasedTriggeringPolicy/>
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="${logDir}" maxDepth="1">
<IfFileName glob="my_app-*.log.gz" />
<IfLastModified age="31d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="MY_APP" level="debug"/>
</Root>
<Logger name="com.company" level="info"/>
<Logger name="com.companyName" level="info"/>
<Logger name="com.companyName.myApp" level="debug"/>
<Logger name="org.hibernate" level="info"/>
</Loggers>
在我的 jar 启动时,我会在控制台上打印以下内容:
log4j:WARN No appenders could be found for logger(org.hibernate.type.BasicTypeRegistry).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
我似乎从我的应用程序中获取日志到我的 RollingFile 中,但我不明白为什么这个休眠记录器没有使用相同的附加程序。
非常感谢任何帮助!
【问题讨论】:
-
为了澄清你想让hibernate附加到同一个文件?
-
@Ishnark 正确,我希望它们都附加到同一个文件中
-
我认为您必须专门告诉休眠记录器以记录到文件。
<logger name="org.hibernate" level="info"><appender-ref ref="MY_APP"/></logger> -
@Ishnark 很抱歉回复晚了,嗯,这似乎也不起作用,同样的警告信息
标签: java hibernate log4j log4j2