Log4j 根配置语法
log4j.rootLogger = [ level ] , appenderName, appenderName, …
把指定级别以上的日志信息输出到指定的一个或者多个位置
我们把INFO层级以及以上的信息输出到Console和File;
即输出到控制台和本地硬盘文件
log4j.rootLogger=INFO, Console ,File
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#File
log4j.appender.File = org.apache.log4j.FileAppender
log4j.appender.File.File = d://log4j2.log
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
代码示例:
public class Demo {
private static Logger logger=Logger.getLogger(Demo.class); // 获取logger实例
public static void main(String[] args) {
logger.info("普通Info信息");
logger.debug("调试debug信息");
logger.error("错误error信息");
logger.warn("警告warn信息");
logger.fatal("严重错误fatal信息");
//开发中有可能会遇到一下经典异常
logger.error("错误了",new IllegalArgumentException("非法参数异常"));
}
}
运行如图:
我们再来看日志等级
Log4j根据日志信息的重要程度,分OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
Log4j官方建议实际实用的话,Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG
所以上面我们制定INFO后debug级别的就不再输出了
同理我们定义ERROR级别
那么ERROR以上级别才会输出
运行如下图: