我想关闭Spring 3.1的log4j日志记录,同时为我自己的代码保留调试内容。
我尝试将这一行粘贴到我的log4j.properties中:
log4j.category.org.springframework = WARN
要得到这个:
# Root Logger Setup: Includes the level of reporting and appenders -> where
# log messages get sent
log4j.rootLogger = DEBUG,ca,fa
log4j.category.org.springframework = WARN
#ca - Console Appender - Send messages to the console
log4j.appender.ca = org.apache.log4j.ConsoleAppender
log4j.appender.ca.layout = org.apache.log4j.PatternLayout
log4j.appender.ca.layout.ConversionPattern = [acme]: [%-5p] - %d{yyyy-MMM-dd HH:mm:ss} - %c{1}:%M(): %m%n
#fa - File Appender - Send messages to a log file
log4j.appender.fa = org.apache.log4j.RollingFileAppender
log4j.appender.fa.File = acme.log
log4j.appender.fa.MaxFileSize = 100KB
log4j.appender.fa.MaxBackupIndex = 10
log4j.appender.fa.Threshold = DEBUG
log4j.appender.fa.layout = org.apache.log4j.PatternLayout
log4j.appender.fa.layout.ConversionPattern = [%-5p] - %d{yyyy-MMM-dd HH:mm:ss} - %c{2}:%M(): %m%n
虽然关闭了Spring的调试输出但没有好运。
提前感谢您提供任何帮助
史蒂夫
答案 0 :(得分:7)
您的所有依赖项都已到位吗?
1.3.2.3使用Log4J
许多人使用Log4j作为日志框架进行配置和管理。它是高效且完善的,事实上它是我们在构建和测试Spring时在运行时使用的。 Spring还提供了一些用于配置和初始化Log4j的实用程序,因此它在某些模块中对Log4j具有可选的编译时依赖性。
要使Log4j使用默认的JCL依赖项(commons-logging),您需要做的就是将Log4j放在类路径上,并为其提供配置文件(类路径根目录中的log4j.properties或log4j.xml) )。因此,对于Maven用户,这是您的依赖声明:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.0.0.RELEASE</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>runtime</scope>
</dependency>
</dependencies>
这是一个用于登录控制台的示例log4j.properties:
log4j.rootCategory=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n
log4j.category.org.springframework.beans.factory=DEBUG
答案 1 :(得分:1)
我想出来了。
在我的类路径中,我有一个目录C:\ Classes,以便在我尝试使用时方便。我在那里有另一个log4.properties文件,它取代了我在WAR中打包的文件,使得它看起来像下面的技术不起作用。我在我的C:\ Classes中重命名了log4.properties,一切都很顺利。
感谢所有看过的人,感谢Spring Source的人们做了这件事。很高兴知道,当我想要它时,我可以轻松地进行广泛的调试,而不仅仅是获得一个黑盒子。