Log4j
- 一、介绍
- 二、三大组件
- 三、实例
一、介绍
Log4j(log for java)
appender:目的地 layout:布局 logger:控制单元 level:级别
代码语言:javascript复制# Appender
org.apache.log4j.ConsoleAppender(控制台*)
org.apache.log4j.FileAppender(文件*)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件*)
org.apache.log4j.RollingFileAppender(文件大小达到指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到指定的地方)
org.apache.log4j.jdbc.JDBCAppender(把日志用JDBC记录到数据库中)
# Layout
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式*)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)
%m 输出代码中指定的消息
%p 输出优先级
%r 输出自应用启动到该log信息耗费的毫秒数
%c 输出所属的类目,通常是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows为“rn“,Unix为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在后面指定格式
# Logger,级别取精确,输出为各自
log4j.rootLogge=
log4j.logger.com.ustc=
三者关系:
- 每个appender后面必然需要跟随layout,指定风格样式;
- 每个logger都可以制定一个级别,同事引用多个appender;
- 每个appender也同时可以被多个logger引用。
#
表示注释,对中文不友好。此外,还有log4j.xml
另一种配置文件。
|--src
| |main
| |resources
| |log4j.properties
二、三大组件
Log4j由三个重要的组件构成: (1)日志信息的优先级常用ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度。
代码语言:javascript复制日志级别从高到低分为:Log4j建议只是用4中级别。
A:off 最高等级,用于关闭所有日志记录。
B:fatal 指出每个严重的错误事件将会导致应用程序的退出。
C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
D:warn 表明会出现潜在的错误情形。
E:info 一般和在粗粒度级别上,强调应用程序的运行全程。
F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
G:all 最低等级,用于打开所有日志记录。
(2)日志信息的输出目的地,指定了日志将打印到控制台还是文件中; (3)日志信息的输出格式,控制了日志信息的显示内容。
三、实例
代码语言:javascript复制# debug为日志级别,后两个参数为输出位置。在生产和开发时修改日志级别即可静默部分日志信息
log4j.rootLogger=debug,{}.File,{}.Console
log4j.appender.{}.File=org.apache.log4j.Daily
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
log4j.appender.{}.Console=
代码语言:javascript复制private static final Logger logger = Logger.getLogger({ClassName}.class);
logger.error(e.getMessage(), e.getCause());