如何关闭Spring 3调试日志?

Ste*_*eve 8 spring log4j

我想关闭Spring 3.1的log4j日志记录,同时为我自己的代码留下调试.

我尝试将这一行粘贴到我的log4j.properties中:

log4j.category.org.springframework = WARN 
Run Code Online (Sandbox Code Playgroud)

要得到这个:

# 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 
Run Code Online (Sandbox Code Playgroud)

但是,关闭Spring的调试输出并没有好运.

在此先感谢您的帮助

史蒂夫

Tan*_*enk 8

你的所有依赖都到位了吗?

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> 
Run Code Online (Sandbox Code Playgroud)

这是一个用于登录控制台的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
Run Code Online (Sandbox Code Playgroud)


Ste*_*eve 1

我明白了这一点。

在我的类路径中,我有一个目录 C:\Classes ,以方便我进行实验时。我在那里有另一个 log4.properties 文件,它取代了我的 WAR 中打包的文件,使它看起来像下面的技术不起作用。我在 C:\Classes 中重命名了 log4.properties,一切都很好。

感谢所有看过的人,也感谢 Spring Source 的人们,是他们让这一切变得必要。很高兴知道,当我需要时,我可以轻松进行广泛的调试,而不仅仅是获得一个黑匣子。