log4j日志级别以及配置
日志记录器(Logger)的行为是分等级的。分为
- OFF
- FATAL
- WARN
- INFO
- DEBUG
- TRACE
- ALL
Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。
比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。
如果设置级别为INFO,则优先级高于等于INFO级别(如:INFO、WARN、
ERROR)的日志信息将可以被输出,小于该级别的如DEBUG将不会被输出。
log4j.properties文件配置
代码块
log4j.rootLogger = debug , syso , D
### 输出到控制台 ###
log4j.appender.syso = org.apache.log4j.ConsoleAppender
log4j.appender.syso.Target = System.out
log4j.appender.syso.Threshold = debug ## 输出DEBUG级别以上的日志
log4j.appender.syso.layout = org.apache.log4j.PatternLayout
log4j.appender.syso.layout.ConversionPattern = %d{[yyyy/MM/dd HH:mm:ss,SSS]} [%5p] [%c:%L] - %m%n
### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D:/logs/Salary.log
log4j.appender.D.Append = true
### \u8F93\u51FADEBUG\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7
log4j.appender.D.Threshold = DEBUG ## 输出DEBUG级别以上的日志
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d{[yyyy/MM/dd HH:mm:ss,SSS]} [%5p] [%c:%L] - %m%n
### 保存异常信息到单独文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D:/logs/errorSalary.log ## 异常日志文件名
log4j.appender.D.Append = true
log4j.appender.D.Threshold = ERROR ## 输出DEBUG级别以上的日志
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d{[yyyy/MM/dd HH:mm:ss,SSS]} [%5p] [%c:%L] - %m%n
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
java配置
/**
* Log的支持 需要调用log4j配置的类
*/
protected Log log = LoggerUtil.newLogger(getClass());
public final class LoggerUtil {
/**
* 初始化Logger 类
*/
@SuppressWarnings("unchecked")
public static final Log newLogger(Class className) {
Logger logger = Logger.getLogger(className);
Log4JLogger log = new Log4JLogger(logger);
return log;
}
}
//测试 类
public class TestLog4j {
public static void main(String[] args) {
PropertyConfigurator.configure( " D:/Code/conf/log4j.properties " );
Logger logger = Logger.getLogger(TestLog4j. class );
logger.debug( " debug " );
logger.error( " error " );
}
}