我想关闭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的调试输出并没有好运.
在此先感谢您的帮助
史蒂夫
你的所有依赖都到位了吗?
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)
我明白了这一点。
在我的类路径中,我有一个目录 C:\Classes ,以方便我进行实验时。我在那里有另一个 log4.properties 文件,它取代了我的 WAR 中打包的文件,使它看起来像下面的技术不起作用。我在 C:\Classes 中重命名了 log4.properties,一切都很好。
感谢所有看过的人,也感谢 Spring Source 的人们,是他们让这一切变得必要。很高兴知道,当我需要时,我可以轻松进行广泛的调试,而不仅仅是获得一个黑匣子。
归档时间: |
|
查看次数: |
19725 次 |
最近记录: |