我正在使用log4j 我的配置如下:
log4j.rootLogger=OFF, stdout, rootLog
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.rootLog=org.apache.log4j.RollingFileAppender
log4j.appender.rootLog.File=${user.home}/logs/mylog.log
log4j.appender.rootLog.MaxFileSize=10000KB
log4j.appender.rootLog.MaxBackupIndex=3
log4j.appender.rootLog.layout=org.apache.log4j.PatternLayout
log4j.appender.rootLog.layout.ConversionPattern=%p %t %c - %m%n
# Control/Limit integrated frameworks logging messages
log4j.logger.org.hibernate=OFF
log4j.logger.org.springframework=OFF
虽然我关闭了根记录器和休眠日志记录
我仍在控制台中看到信息:
2099 [main] INFO org.hibernate.cfg.SettingsFactory
2440 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport
3239 [main] WARN org.hibernate.util.JDBCExceptionReporter
如何制止,请指教,谢谢。
更新:记录jar /依赖项:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.8</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
</dependency>
答案 0 :(得分:5)
这不是你的log4j配置。您列出的输出与您在配置文件中显示的任何转换模式都不匹配。它正在使用其他一些配置。
更新:根据您更新的问题,如果您使用的是SLF4J Logger,那么您甚至不使用Log4J,因为您正在使用slf4j-simple绑定,“输出全部事件发送到System.err。只有“{3}}”才会打印级别为INFO或更高级别的消息。要使用Log4J,必须使用slf4j-log4j12绑定。
答案 1 :(得分:1)
首先需要找出它正在使用的log4j配置文件。您可以在运行Java时打开log4j上的debug作为-D参数,它会告诉您。