我在这个包里有mypack和MyClass包.我想仅记录此类的INFO级别并尝试使用log4j.properties进行设置:
log4j.debug=true
log4j.rootLogger=ALL, debugLogfile
log4j.rootCategory=, debugLogFile
#log4j.category.mypack =INFO
log4j.logger.mypack =INFO
log4j.appender.debugLogfile=org.apache.log4j.RollingFileAppender
log4j.appender.debugLogfile.File=mylog.log
log4j.appender.debugLogfile.Threshold=ALL
log4j.appender.debugLogfile.MaxFileSize=100MB
log4j.appender.debugLogfile.MaxBackupIndex=4
log4j.appender.debugLogfile.layout=org.apache.log4j.PatternLayout
log4j.appender.debugLogfile.layout.ConversionPattern=%d %-4r [%t] %-5p %c %x - %m%n
Run Code Online (Sandbox Code Playgroud)
不幸的是,类也记录了DEBUG级别.怎么了?
我以这种方式创建logger:public final Logger log = Logger.getLogger(getClass());
您也可以选择使用XML文件.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC
"-//log4j/log4j Configuration//EN" "log4j.dtd" >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- console -->
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<param name="threshold" value="ALL" />
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern"
value="%d{yyyyMMdd-HHmmss.SSS} %-5p (%c.java:%L).%M - %m%n" />
</layout>
</appender>
<!-- categories -->
<category name="org.hibernate">
<priority value="WARN" />
</category>
<category name="org.hibernate.type">
<priority value="TRACE" />
</category>
<category name="mypack">
<priority value="INFO" />
</category>
<!-- root -->
<root>
<priority value="ALL" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)
使用您的设置,文件的追加器:
<!-- file -->
<appender name="ROLLOUT" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="mylog.log" />
<param name="maxFileSize" value="100MB" />
<param name="maxBackupIndex" value="4" />
<param name="threshold" value="ALL" />
<param name="encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="conversionPattern" value="%d %-4r [%t] %-5p %c %x - %m%n" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
也可以看看:
您需要package logger在Category或Logger级别设置访问权限,以实现此尝试,请执行以下操作:
# make default and debugLogFile both as root category
log4j.rootCategory=, debugLogFile
# set package wide logger Level (via Category, older way)
log4j.category.mypack=INFO
# OR set package wide logger Level (via Logger, newer way)
log4j.logger.mypack=INFO
# an example of turning all apache package logs to WARN
log4j.category.org.apache=WARN
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14657 次 |
| 最近记录: |