logback 配置详解Word文件下载.docx
- 文档编号:21495355
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:26
- 大小:33.56KB
logback 配置详解Word文件下载.docx
《logback 配置详解Word文件下载.docx》由会员分享,可在线阅读,更多相关《logback 配置详解Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
/configuration>
二:
的子节点:
2.1设置上下文名称:
contextName>
每个logger都关联到logger上下文,默认上下文名称为“default”。
但可以使用<
设置成其他名字,用于区分不同应用程序的记录。
一旦设置,不能修改。
myAppName<
/contextName>
3.
4.<
2.2设置变量:
property>
用来定义变量值的标签,<
有两个属性,name和value;
其中name的值是变量的名称,value的值时变量定义的值。
通过<
定义的值会被插入到logger上下文中。
定义变量后,可以使“${}”来使用变量。
例如使用<
定义上下文名称,然后在<
contentName>
设置logger上下文时使用。
property
name="
APP_Name"
value="
myAppName"
/>
${APP_Name}<
4.
5.<
2.3获取时间戳字符串:
timestamp>
两个属性key:
标识此<
的名字;
datePattern:
设置将当前时间(解析配置文件的时间)转换为字符串的模式,遵循java.txt.SimpleDateFormat的格式。
例如将解析配置文件的时间作为上下文名称:
timestamp
key="
bySecond"
datePattern="
yyyyMMdd'
T'
HHmmss"
${bySecond}<
2.4设置loger:
loger>
用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<
appender>
。
仅有一个name属性,一个可选的level和一个可选的addtivity属性。
name:
用来指定受此loger约束的某一个包或者具体的某一个类。
level:
用来设置打印级别,大小写无关:
TRACE,DEBUG,INFO,WARN,ERROR,ALL和OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
如果未设置此属性,那么当前loger将会继承上级的级别。
addtivity:
是否向上级loger传递打印信息。
默认是true。
可以包含零个或多个<
appender-ref>
元素,标识这个appender将会添加到这个loger。
root>
也是<
元素,但是它是根loger。
只有一个level属性,应为已经被命名为"
root"
.
TRACE,DEBUG,INFO,WARN,ERROR,ALL和OFF,不能设置为INHERITED或者同义词NULL。
默认是DEBUG。
LogbackDemo.java类
Java代码
1.package
logback;
3.import
org.slf4j.Logger;
4.import
org.slf4j.LoggerFactory;
5.
6.public
class
LogbackDemo
{
7.
private
static
Logger
log
=
LoggerFactory.getLogger(LogbackDemo.class);
8.
public
void
main(String[]
args)
9.
log.trace("
======trace"
);
10.
log.debug("
======debug"
11.
log.info("
======info"
12.
log.warn("
======warn"
13.
log.error("
======error"
14.
}
15.}
logback.xml配置文件
第1种:
只配置root
appender
STDOUT"
class="
ch.qos.logback.core.ConsoleAppender"
encoder
默认配置为PatternLayoutEncoder
-->
encoder>
6.
pattern>
%d{HH:
mm:
ss.SSS}
[%thread]
%-5level
%logger{36}
-
%msg%n<
/pattern>
/encoder>
/appender>
root
level="
INFO"
appender-ref
ref="
/root>
其中appender的配置表示打印到控制台(稍后详细讲解appender
);
rootlevel="
将root的打印级别设置为“INFO”,指定了名字为“STDOUT”的appender。
当执行logback.LogbackDemo类的main方法时,root将级别为“INFO”及大于“INFO”的日志信息交给已经配置好的名为“STDOUT”的appender处理,“STDOUT”appender将信息打印到控制台;
打印结果如下:
1.13:
30:
38.484
[main]
INFO
logback.LogbackDemo
======info
2.13:
38.500
WARN
======warn
3.13:
ERROR
======error
第2种:
带有loger的配置,不指定级别,不指定appender,
logback为java中的包
logger
logback"
DEBUG"
15.
16.
17.
loggername="
/>
将控制logback包下的所有类的日志的打印,但是并没用设置打印级别,所以继承他的上级<
的日志级别“DEBUG”;
没有设置addtivity,默认为true,将此loger的打印信息向上级传递;
没有设置appender,此loger本身不打印任何信息。
将root的打印级别设置为“DEBUG”,指定了名字为“STDOUT”的appender。
当执行logback.LogbackDemo类的main方法时,因为LogbackDemo在包logback中,所以首先执行<
,将级别为“DEBUG”及大于“DEBUG”的日志信息传递给root,本身并不打印;
root接到下级传递的信息,交给已经配置好的名为“STDOUT”的appender处理,“STDOUT”appender将信息打印到控制台;
19:
15.406
DEBUG
======debug
4.13:
第3种:
带有多个loger的配置,指定级别,指定appender
--logback.LogbackDemo:
类的全路径
logback.LogbackDemo"
additivity="
/logger>
ERROR"
18.
19.<
level="
additivity="
控制logback.LogbackDemo类的日志打印,打印级别为“INFO”;
additivity属性为false,表示此loger的打印信息不再向上级传递,
指定了名字为“STDOUT”的appender。
将root的打印级别设置为“ERROR”,指定了名字为“STDOUT”的appender。
当执行logback.LogbackDemo类的main方法时,先执行<
,将级别为“INFO”及大于“INFO”的日志信息交给此loger指定的名为“STDOUT”的appender处理,在控制台中打出日志,不再向次loger的上级<
传递打印信息;
未接到任何打印信息,当然也不会给它的上级root传递任何打印信息;
1.14:
05:
35.937
2.14:
3.14:
如果将<
修改为
那打印结果将是什么呢?
没错,日志打印了两次,想必大家都知道原因了,因为打印信息向上级传递,logger本身打印一次,root接到后又打印一次
09:
01.531
4.14:
5.14:
6.14:
logback常用配置详解
(二)
:
是<
的子节点,是负责写日志的组件。
有两个必要属性name和class。
name指定appender名称,class指定appender的全限定名。
1.ConsoleAppender:
把日志添加到控制台,有以下子节点:
对日志进行格式化。
(具体参数稍后讲解
)
target>
字符串
System.out
或者
System.err
,默认
;
%-4relative
%logger{35}
%msg
%n<
12.<
2.FileAppender:
把日志添加到文件,有以下子节点:
file>
被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。
append>
如果是true,日志被追加到文件结尾,如果是false,清空现存文件,默认是true。
对记录事件进行格式化。
prudent>
如果是true,日志会被安全的写入文件,即使其他的FileAppender也在向此文件做写入操作,效率低,默认是false。
FILE"
ch.qos.logback.core.FileAppender"
testFile.log<
/file>
true<
/append>
14.<
3.RollingFileAppender:
滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。
有以下子节点:
rollingPolicy>
:
当发生滚动时,决定
RollingFileAppender
的行为,涉及文件移动和重命名。
triggeringPolicy
告知
合适激活滚动。
当为true时,不支持FixedWindowRollingPolicy。
支持TimeBasedRollingPolicy,但是有两个限制,1不支持也不允许文件压缩,2不能设置file属性,必须留空。
rollingPolicy:
TimeBasedRollingPolicy:
最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动。
fileNamePattern>
必要节点,包含文件名及“%d”转换符,
“%d”可以包含一个java.text.SimpleDateFormat指定的时间格式,如:
%d{yyyy-MM}。
如果直接使用%d,默认格式是yyyy-MM-dd。
的file字节点可有可无,通过设置file,可以为活动文件和归档文件指定不同位置,当前日志总是记录到file指定的文件(活动文件),活动文件的名字不会改变;
如果没设置file,活动文件的名字会根据fileNamePattern
的值,每隔一段时间改变一次。
“/”或者“\”会被当做目录分隔符。
maxHistory>
可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件。
假设设置每个月滚动,且<
是6,则只保存最近6个月的文件,删除之前的旧文件。
注意,删除旧文件是,那些为了归档而创建的目录也会被删除。
FixedWindowRollingPolicy:
根据固定窗口算法重命名文件的滚动策略。
minIndex>
窗口索引最小值
maxIndex>
窗口索引最大值,当用户指定的窗口过大时,会自动将窗口设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- logback 配置详解 配置 详解