#log4j.rootCategory=info, stdout # # Log4J Settings for log4j 1.2.x (via jakarta-commons-logging) # # The five logging levels used by Log are (in order): # # 1. DEBUG (the least serious) # 2. INFO # 3. WARN # 4. ERROR # 5. FATAL (the most serious) # Set root logger level to WARN and append to stdout log4j.rootLogger=WARN, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number. log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n # Print only messages of level ERROR or above in the package noModule. log4j.logger.noModule=FATAL # OpenSymphony Stuff log4j.logger.com.opensymphony=INFO log4j.logger.org.apache.struts2=DEBUG# Spring Stuff log4j.logger.org.springframework=INFO #log4j.logger.org.hibernate=info #log4j.logger.org.hibernate=debug
你可以设置把Hibernate的showSQL关掉.
#
# Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)
#
# The five logging levels used by Log are (in order):
#
# 1. DEBUG (the least serious)
# 2. INFO
# 3. WARN
# 4. ERROR
# 5. FATAL (the most serious)
# Set root logger level to WARN and append to stdout
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n
# Print only messages of level ERROR or above in the package noModule.
log4j.logger.noModule=FATAL
# OpenSymphony Stuff
log4j.logger.com.opensymphony=INFO
log4j.logger.org.apache.struts2=DEBUG# Spring Stuff
log4j.logger.org.springframework=INFO
#log4j.logger.org.hibernate=info
#log4j.logger.org.hibernate=debug
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
#log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n log4j.com.thd=debug,appender2
log4j.appender.appender2=org.apache.log4j.ConsoleAppender
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%C-%M] [%d{yy/MM/dd HH:mm:ss:SSS}] %m%n
java程序:package com.thd.test;
import org.apache.log4j.Logger;
public class T01 {
public static Logger log = Logger.getLogger(T01.class);
public static void main(String[] args) {
log.debug("1");
System.out.println("success");
}
}
但是log4j输出的内容是log4j.rootLogger定义的格式 而不是log4j.com.thd定义的内容 怎么回事呢?
threshold="debug"> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t] [%c{1}] %m%n" />
</layout>
</appender> <appender name="ASYNC_CONSOLE" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="8192"/>
<appender-ref ref="CONSOLE" />
</appender> <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="~/x/log/server.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t] [%c{1}] %m%n" />
</layout>
</appender>
<!-- 定义你自己包的日志级别 -->
<logger name="com.xxxx">
<level value="DEBUG" />
</logger> <root>
<!- 通用的日志级别 -->
<level value="INFO" />
<appender-ref ref="CONSOLE" />
</root>
</log4j:configuration>
改为
log4j.logger.com.thd=debug