- 有效级别及级别的继承
ch.qos.logback.classic.Level类 。如果 logger没有被分配级别,那么它将从有被分配级别的最近的祖先那里继承级别 。root logger 默认级别是 DEBUG 。
- 打印方法与基本的选择规则
如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用BasicConfigurator ,创建一个最小化配置 。最小化配置由一个关联到根 logger 的ConsoleAppender 组成 。输出用模式为%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 的 PatternLayoutEncoder 进行格式化 。root logger 默认级别是 DEBUG 。
- Logback的配置文件
- Logback默认配置的步骤
- 尝试在 classpath下查找文件logback-test.xml;
- 如果文件不存在,则查找文件logback.xml;
- 如果两个文件都不存在,logback用BasicConfigurator自动对自己进行配置,这会导致记录输出到控制台 。
文章插图
- (1) 根节点<configuration>,包含下面三个属性:
scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒 。当scan为true时,此属性生效 。默认的时间间隔为1分钟 。
debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态 。默认值为false 。例如:
<configuration scan="true" scanPeriod="60 seconds" debug="false"><!--其他配置省略--> </configuration>
- (2) 子节点<contextName>:用来设置上下文名称,每个logger都关联到logger上下文,默认上下文名称为default 。但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录 。一旦设置,不能修改 。
<configuration scan="true" scanPeriod="60 seconds" debug="false"><contextName>myAppName</contextName><!--其他配置省略--></configuration>
- (3) 子节点<property> :用来定义变量值,它有两个属性name和value,通过<property>定义的值会被插入到logger上下文中,可以使“${}”来使用变量 。
value: 的值时变量定义的值
例如:
<configuration scan="true" scanPeriod="60 seconds" debug="false"><property name="APP_Name" value=https://www.isolves.com/it/cxkf/kj/2020-06-08/"myAppName" />${APP_Name}
- (4) 子节点<timestamp>:获取时间戳字符串,它有两个属性key和datePattern
datePattern: 设置将当前时间(解析配置文件的时间)转换为字符串的模式,遵循JAVA.txt.SimpleDateFormat的格式 。例如:
<configuration scan="true" scanPeriod="60 seconds" debug="false"><timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/><contextName>${bySecond}</contextName><!-- 其他配置省略--> </configuration>
- (5) 子节点<appender>:负责写日志的组件,它有两个必要属性name和class 。
- name指定appender名称,
- class指定appender的全限定名
<encoder>:对日志进行格式化 。(具体参数稍后讲解 )
<target>:字符串System.out(默认)或者System.err(区别不多说了)
推荐阅读
- 推荐算法为啥这么“灵”,又为啥会“失灵”?
- “显示器黑屏无信号,但电脑一直在运行”的解决办法
- |“同学你好,请携带好简历来我司面试”
- 数学|川大毕业的“红衣”空姐走红,抛出年龄数学题:两数相加等于6
- 乌龙茶属于什么茶?
- 中国发现的“神秘月球小屋”现真身
- 零食如何健康吃?挑选零食别“闯红灯”
- 年货买肘子,你知道“前肘”和“后肘”差别有多大吗?别买错了
- 买食盐时,要区分“2721”和“5461”,只是数字不同,差别却不小
- 有人说:“选红茶,要选陈年红茶。新红茶有土腥气。”请问:这种看法对吗?[红茶]