![](https://csdnimg.cn/release/download_crawler_static/86280385/bg5.jpg)
2018/3/28
Java日志终极指南 - ImportNew
http://www.importnew.com/16331.html 5/23
参
数 描
述
fi
lter
用
于
决
定
是
否
需
要
使
用
该
Appender
来
处
理
日
志
事件
layout
用
于
决
定
如
何
对
日
志
记
录
进
行
格
式
化
,
默
认
情
况
下
使
用
“
%m%n
”
,
它
会
在
每
一
行
显
示
一
条
日
志
记
录
follow
用
于
决
定
Appender
是
否
需
要
了
解
输
出
(
system.out
或
者
system.err
)
的
变
化
,
默
认
情
况
是
不
需
要
跟踪
这
种
变
化
name
用
于
设
置
Appender
的
名
字
ignoreExceptions
用
于
决
定
是
否
需
要记
录
在
日
志
事件
处
理
过
程
中
出
现
的
异常
target
用
于
指
定
输
出
目
标
位
置
,
默
认
情
况
下
使
用
SYSTEM_OUT
,
但也
可
以修
改
成
SYSTEM_ERR
一个
完
整
的
Log4j2
的
配
置
文
件
如
下
所
示
:
这
个
配
置
文
件
创
建
了
一个
名
为
MyAppender
的
ConsoleAppender
,
它
使
用
PatternLayout
来
对
日
志
事
件
进
行
格
式
化
,
然
后
再
将
其
输
出到
System.out
。
<Loggers>
元
素
对定
义
在
程
序
代
码
中
的
Loggers
进
行
了
配
置
。
在
这
里
,
我
们
只
配
置
了
一个
LoggerCon
fi
g
,
即名
为
Root
的
Logger
,
它
会
接收
哪
些
日
志
级
别
在
ERROR
以
上
的
日
志
消
息
。
如
果
我
们使
用
logger.error()
来
记
录
一个
消
息
,
那
么
它就
会
出
现
在
控
制
台
上,
就
像
这
样
:
你也
可
以使
用
Logback
实
现
完
全
一
样
的
效
果
:
FileAppenders
FileAppenders
将
日
志
记
录
写入到
文
件中
,
它
负责
打
开
、
关
闭
文
件
,
向
文
件中
追
加
日
志
记
录
,
并
对
文
件
进
行
加
锁
,
以
免
数据
被
破
坏
或
者
覆
盖
。
在
Log4j
中
,
如
果
想
创
建
一个
FileAppender
,
需
要
指
定
目
标
文
件
的
名
字
,
写入
方
式
是
追
加
还
是
覆
盖
,
以
及
是
否
需
要
在
写入
日
志
时
对
文
件
进
行
加
锁
:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xmlversion="1.0"encoding="UTF8"?>
<Configurationstatus="warn"name="MyApp">
<Appenders>
<Consolename="MyAppender"target="SYSTEM_OUT">
<PatternLayoutpattern="%m%n"/>
</Console>
</Appenders>
<Loggers>
<Rootlevel="error">
<AppenderRefref="MyAppender"/>
</Root>
</Loggers>
</Configuration>
1 Anunexpectederroroccurred.
1
2
3
4
5
6
7
8
9
10
<configuration>
<appendername="MyAppender"class="ch.qos.Logback.core.ConsoleAppender">
<encoder>
<pattern>%m%n</pattern>
</encoder>
</appender>
<rootlevel="error">
<appenderrefref="MyAppender"/>
</root>
</configuration>
1
2
3
...
<Appenders>
<Filename="MyFileAppender"fileName="myLog.log"append="true"locking="true">