如何关闭Spring 3调试日志?

时间:2012-06-05 21:56:32

标签: spring log4j

我想关闭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的调试输出但没有好运。

提前感谢您提供任何帮助

史蒂夫

2 个答案:

答案 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的人们做了这件事。很高兴知道,当我想要它时,我可以轻松地进行广泛的调试,而不仅仅是获得一个黑盒子。