没有合适的资源?快使用搜索试试~ 我知道了~
logback 配置详解.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 186 浏览量
2022-11-18
11:37:34
上传
评论
收藏 1MB PDF 举报
温馨提示
试读
17页
。。。
资源推荐
资源详情
资源评论
logback 配置详解
一:根节点<configuration>包含的属性:
scan:
当此属性设置为 true 时,配置文件如果发生改变,将会被重新加载,默认值为 true。
scanPeriod:
设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当 scan 为 true 时,
此属性生效。默认的时间间隔为 1 分钟。
debug:
当此属性设置为 true 时,将打印出 logback 内部日志信息,实时查看 logback 运行状态。默认值为 false。
例如:
Xml 代码
1. <configuration scan="true" scanPeriod="60 seconds" debug="false">
2. <!-- 其他配置省略-->
3. </configuration>
二:根节点<configuration>的子节点:
2.1 设置上下文名称:<contextName>
每个 logger 都关联到 logger 上下文,默认上下文名称为“default”。
但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录。
一旦设置,不能修改。
Xml 代码
1. <configuration scan="true" scanPeriod="60 seconds" debug="false">
2. <contextName>myAppName</contextName>
3. <!-- 其他配置省略-->
4. </configuration>
2.2 设置变量: <property>
用来定义变量值的标签,<property> 有两个属性,name 和 value;其中 name 的值是变量的名称,value
的值时变量定义的值。通过<property>定义的值会被插入到 logger 上下文中。定义变量后,可以使“${}”来使
用变量。
例如使用<property>定义上下文名称,然后在<contentName>设置 logger 上下文时使用。
Xml 代码
1. <configuration scan="true" scanPeriod="60 seconds" debug="false">
2. <property name="APP_Name" value="myAppName" />
3. <contextName>${APP_Name}</contextName>
4. <!-- 其他配置省略-->
5. </configuration>
2.3 获取时间戳字符串:<timestamp>
两个属性 key:标识此<timestamp> 的名字;datePattern:设置将当前时间(解析配置文件的时间)转换为
字符串的模式,遵循 Java.txt.SimpleDateFormat 的格式。
例如将解析配置文件的时间作为上下文名称:
Xml 代码
1. <configuration scan="true" scanPeriod="60 seconds" debug="false">
2. <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/>
3. <contextName>${bySecond}</contextName>
4. <!-- 其他配置省略-->
5. </configuration>
2.4 设置 loger:
<loger>
用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。<loger>仅有一个 name 属
性,一个可选的 level 和一个可选的 addtivity 属性。
name:
用来指定受此 loger 约束的某一个包或者具体的某一个类。
level:
用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特俗
值 INHERITED 或者同义词 NULL,代表强制执行上级的级别。
如果未设置此属性,那么当前 loger 将会继承上级的级别。
addtivity:
是否向上级 loger 传递打印信息。默认是 true。
<loger>可以包含零个或多个<appender-ref>元素,标识这个 appender 将会添加到这个 loger。
<root>
也是<loger>元素,但是它是根 loger。只有一个 level 属性,应为已经被命名为"root".
level:
用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能设置为
INHERITED 或者同义词 NULL。
默认是 DEBUG。
<root>可以包含零个或多个<appender-ref>元素,标识这个 appender 将会添加到这个 loger。
例如:
LogbackDemo.java 类
Java 代码
1. package logback;
2.
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 static 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
Xml 代码
1. <configuration>
2.
3. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
4. <!-- encoder 默认配置为 PatternLayoutEncoder -->
5. <encoder>
6. <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</patter
n>
7. </encoder>
8. </appender>
9.
10. <root level="INFO">
11. <appenderref ref="STDOUT" />
12. </root>
13.
14. </configuration>
其中 appender 的配置表示打印到控制台(稍后详细讲解 appender );
<root level="INFO">将 root 的打印级别设置为“INFO”,指定了名字为“STDOUT”的 appender。
当执行 logback.LogbackDemo 类的 main 方法时,root 将级别为“INFO”及大于“INFO”的日志信息交给已经
配置好的名为“STDOUT”的 appender 处理,“STDOUT”appender 将信息打印到控制台;
打印结果如下:
Xml 代码
1. 13:30:38.484 [main] INFO logback.LogbackDemo - ======info
剩余16页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功