两种配置:程序配置,文件配置
程序配置的一般过程
1 得到特定名称的logger
2 得到其中一个layout
3 根据layout得到appender
4 logger添加appender
5 logger设置级别
6 logger输出有级别的日志信息
文件配置过程
1 得到特定名称的logger
2 加载配置文件 (配置文件做了程序配置2-5的工作)
3 logger输出有级别的日志信息
三个主要单元:
logger 进行记录的主要类,
appender 是记录的方式
ConsoleAppender 终端输出
FileAppender 文件输出
WriterAppender 流输出
layout 是记录的格式
SimpleLoyout 简单格式
HTMLLayout html格式
PatternLayout 匹配格式
logger七种级别:
debug 7
info 6
warn 4
error 3
fatal 0
all
off
输出格式
%m 输出代码中指定信息
%p 输出优先级
%c 输出所属类目 %{<层数>} 层数表示从内层算起的指定层数的名字空间 如%c{1} 只显示类名
%20c 名字空间长度小于20,左边用空格填充
%-20c 名字空间长度小于20,右边用空格填充
%.30c 名字空间长度大于30,截取多余字符
%20.30c 名字空间小于20,左边用空格填充,名字空间长度大于30 ,截取多余字符
%C 列出调用logger的类的全名(包含包路径)
%n 输出回车换行符
%r 输出自启应用启动到输出改信息耗费的毫秒数
%t 输出产生该日志的线程名
%d 输出日志的时间点的日期或时间,默认格式ISO8601 也可以指定,%d{yyyy-MM-dd HH:mm:ss,SSS}
%l 输出日志事件的发生未知,精确到行
%L 输出调用logger的代码行
%F 输出调用logger的源文件名,java文件
%M 输出调用logger的方法名
%% 输出一个百分号
%x 按NDC(Nested Diagnostic Context,线程堆栈)顺序输出日志
%X 按MDC(Mapped Diagnostic Context,线程映射表)输出日志,通常用于多个客户端连接同体态服务器,方便服务器区分是哪个客户端访问留下来的日志