一、常用配置及说明
log4j.rootLogger=DEBUG,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
log4j.logger.org.apache=INFO
1、使用上,添加log4j.jar包,在项目类路径下新建log4j.properties文件,然后配置以上属性
2、属性说明
(1)log4j.rootLogger代表全局配置,即在整个项目中没有进行局部配置的地方都将使用配置的属性
log4j.logger.包名(例如log4j.logger.org.apache)代表局部配置,在包范围下的类都使用此配置的属性
(2)log4j.rootLogger= level (日志输出级别),appenderName (日志输出位置)
(3)log4j四种常用日志输出级别:
debug:调试级别,适用于开发阶段。
info:运行信息,适用于测试或者运行阶段
warn:警告信息
error:错误消息
info以及之后的三种都适用于测试和运行阶段
级别从高到底:error > warn > info > debug
日志输出规则:输出等于或者小于设置级别的日志信息(例如:级别设置info,将输出info,dubug级别的信息)
(4) 日志输出位置
控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
(Console 位置的名字可任意取,真正决定在控制台输出的是org.apache.log4j.ConsoleAppender)
文件
log4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.File = ${webApp.root}/wdq_logs/allDEBUG.log
log4j.appender.file.Encoding=UTF-8
log4j.appender.file.name = fileLogDemo
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[ %p ]%m%n
log4j.appender.file.append = true
参考原文:https://www.cnblogs.com/coder-wdq/p/8097889.html
(5) 自定义输出格式
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
%d: 日期,还可以指定日期格式 %d{yyyy-MM-dd HH:mm:ss}
%t: 当前线程
%p: 日志级别
%c: 全限定类名+方法名(即namespace + sql语句的id)
%m: 信息本身
%n: 换行
-5 不满五个字符将左对齐,在末尾补充空格。 + 表示右对齐。
二、其他
补充:log4j 的基础知识
1.log4j 是Apache为java提供日志管理的工具
作用: 可以调试程序,就像输出一样,
2.核心概念:
log4j有三大组件: 日志器(Logger) 日志输出的目标(Appender) 格式化器(Layout)
日志器(Logger):用来输出消息的类,可以输出不同级别的,比如错误消息,警告消息等
日志输出的目标(Appender):日志输出到哪里去,文件 ,控制台
格式化器(Layout):对输出消息进行格式化,比如添加日期
- 建立日志器,
Logger log=Logger.getLogger(Test.class);
log.info();
log.debug();
4.日志级别:
从高到低: FATAL: 重大错误(系统有问题)
ERROR: 错误 (一个模块有问题)
WARN: 警告()
INFO: 信息:可以查看程序执行的流程
DEBUG: 调试,用来调试程序的bug及显示
5,log4j.properties log4j.xml
6.在配置文件里,需要为log4j.properties,配置一个根日志器,
log4j.rootLogger=DEBUG,AA
log4j.rootLogger=WARN
log4j.APPENDER.AA=org.apache.log4j.ConsoleAppender
Appender:
是用来指定输出目标的类,可以叫发送器
ConsoleAppender: 向控制台输出日志;
FileApperder: 向文件输出日志
DailyRollingFileApperder:
log4j.appender.AA.File=log.txt
log4j.appender.AA.LAYOUT=org.apache.log4j.SimpleLayout
log4j.appender.AA.DatePatten='yyyy-MM-dd'
layout种类:
%m: 信息本身
%c: 日志器的名称
%d: 日期,还可以指定日期格式 %d{yyyy-MM-dd HH:mm:ss}
%p: 日志级别
%n: 换行
%t: 当前线程
%l: 输出日志java类的相关信息
参考原文:https://blog.csdn.net/Java_stud/article/details/80806217