Log4j的xml与properties禁止日志输出区别
1、xml的表示形式
指定具体class的日志级别和输出源
<logger name="com.ecloude.staff.market.action.StaffAction">
<level value="debug"/>
<appender-ref ref="roleFile"/>
</logger>
关闭指定具体class的日志
<logger name="org.apache.xml.security.signature.Reference">
<level value="off" />
</logger>
2、properties的表示形式
log4j的additivity属性:
是子Logger 是否继承 父Logger 的输出源(appender)的标志位. 具体说,
默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。
若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。
log4j.rootLogger=DEBUG,console,R
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=/export/home/tomcat/mobile/tomcatLogs/tomcat.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
log4j.logger.mobileLogger.test=info,mobileLogger
log4j.additivity.mobileLogger=false 注意log4j.additivity跟的是输出源不是class路径
父logger是console与R,子logger是log4j.logger.mobileLogger
log4j.logger.com.mchange=false 关闭日志输出
log4j.logger的两种使用方式
log4j.logger.classpath=日志级别,输出源
log4j.logger.classpath=false