|
|
级别
- OFF 关闭所有日志记录
- FATAL 严重的错误事件将会导致应用程序的退出
- ERROR 虽然发生错误事件,但仍然不影响系统的继续运行。
- WARN 会出现潜在错误的情形。
- INFO 消息在粗粒度级别上突出强调应用程序的运行过程。
- DEBUG 指出细粒度信息事件对调试应用程序是非常有帮助的
- ALL 开启所有的日志记录
级别优先级
OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL
使用
- 在pom.xml 中添加依赖
- 在项目的中添加log4j.properties
配置
log4.rootLogger
- log4j.rootLogger=日志级别,appender1, appender2, ….
- 注意,rootLogger默认是对整个工程生效
- 注意,如果只想对某些包操作,那么:log4j.logger.com.hutu=info, stdout,表示该日志对package com.hutu生效
- 注意,这样做可以区分dev/线上,也可以减小性能影响:if(log.isDebugEnabled()){log.debug();}
基础配置
Appender
属性 | 描述 |
---|---|
layout | Appender 使用 Layout 对象和与之关联的模式来格式化日志信息。 |
target | 目的地可以是控制台、文件,或依赖于 appender 的对象 |
level | 级别用来控制过滤日志信息 |
threshold | Appender 可脱离于日志级别定义一个阀值级别,Appender 对象会忽略所有级别 低于阀值级别的日志。 |
filter | Filter 对象可在级别基础之上分析日志信息,来决定 Appender 对象是否处理或忽 略一条日志记录。 |
所有appender
AppenderSkeleton
AsyncAppender
ConsoleAppender
输出到控制台1234567log4j.rootLogger = debug , stdout , D , E### 输出到控制台 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n
DailyRollingFileAppender
每天产生一个文件
ExternallyRolledFileAppender
FileAppender
文件
JDBCAppender
将日志信息保存到数据库中
JMSAppender
LF5Appender
NTEventLogAppender
NullAppender
RollingFileAppender
文件大小到达指定大小,则新创建个文件
SMTPAppender
SocketAppender
SocketHubAppender
SyslogAppender
TenetAppender
WriterAppender
将日志信息以流格式发送到任意指定的地方
Layout
DateLayout
HTMLLayout
PatternLayout
SimpleLayout
XMLLayout
日志格式化
模式转换符
转换字符 | 含义 |
---|---|
c | 使用它为输出日志分类,比如对于分类”a.b.c”,模式%c{2}会输出”b.c” |
C | 使用它输出发起记录日志请求的类的全名。比如对于类”cn.fondme.logger.XXClass”,模式%C{1}会输出”XXClass” |
d | 使用它输出记录日志的日期,比如%d{HH:mm:ss} |
F | 在记录日志时,使用它输出文件名 |
I | 用它输出生成日志的调用者的地域信息。 |
L | 使用它输出发起日志请求的行号。 |
m | 使用它输出和日志事件关联的,由应用提供的信息。 |
M | 使用它输出发起日志请求的方法名。 |
n | 输出平台相关的换行符。 |
p | 输出日志事件的优先级。 |
r | 使用它输出从构建布局到生成日志事件所花费的时间,以毫秒为单位。 |
t | 输出生成日志事件的线程名。 |
x | 输出和生成日志事件线程相关的 NDC (嵌套诊断上下文)。 |
X | 该字符后跟 MDC 键,比如 X{clientIP} 会输出保存在 MDC 中键 clientIP 对应的值。 |
% | 百分号, %% 会输出一个 %。 |
格式修饰符
格式修饰符 | 左对齐 | 最小宽度 | 最大宽度 | 注释 |
---|---|---|---|---|
%20c | 否 | 20 | 无 | 如果列名少于 20 个字符,左边使用空格补齐 |
%-20c | 是 | 20 | 无 | 如果列名少于 20 个字符,右边使用空格补齐。 |
%.30c | 不适用 | 无 | 30 | 如果列名长于 30 个字符,从开头剪除。 |
%20.30c | 否 | 20 | 30 | 如果列名少于 20 个字符,左边使用空格补齐,如果列名长于 30 个字 符,从开头剪除。 |
%-20.30c | 是 | 20 | 30 | 如果列名少于 20 个字符,右边使用空格补齐,如果列名长于 30 个字 符,从开头剪除。 |