Logback会依次读取以下类型配置文件:
- logback.groovy
- logback-test.xml
- logback.xml 如果均不存在会采用默认配置
logback组件之间的关系
- Logger:日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别。
- Appender:用于指定日志输出的目的地,目的地可以是控制台、文件、数据库等等。
- Layout:负责把事件转换成字符串,格式化的日志信息的输出。在logback 中 Layout对象被封装在encoder中。
基本配置信息
注意:为了看的更清楚,没有采用xml形式
<?xml version = "1.0" encoding = "UTF-8"?>
<configuration>
<!--
配置集中管理属性,可以直接修改属性的value值
格式 ${name}
-->
<!--日志输出格式:
[%-5level]
%d{yyyy-MM-dd HH:mm:ss.SSS} : 日期
%c : 类的完整名称
%M : 为method
%L : 为行号
%thread : 线程名称
%m 或者 %msg : 为信息
%n : 换行
-->
<!-- 第一种方式:
<property name="pattern" value="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L %thread %m%n"></property>
-->
<!-- 第二种方式 -->
<property name="pattern" value="[ %-5level ] %d{yyyy-MM-dd HH:mm:ss.SSS} %c %M %L [%thread] %m%n"/>
<!--格式化输出:
%d表示日期,
%thread表示线程名,
%-5level:级别从左显示5个字符宽度
%msg:日志消息,
%n是换行符
-->
<!--Appender: 设置日志信息的去向,常用的有以下几个
ch.qos.logback.core.ConsoleAppender (控制台)
ch.qos.logback.core.rolling.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新文件)
ch.qos.logback.core.FileAppender (文件)
-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!--输出流对象 默认 System.out 改为 System.err-->
<target>System.err</target>
<!-- 日志消息格式 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${pattern}</pattern>
</encoder>
</appender>
<!--用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。
<loger>仅有一个name属性,一个可选的level和一个可选的addtivity属性 name:用来指定受此logger约束的某一个包或者具体的某一个类。 level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, 如果未设置此属性,那么当前logger将会继承上级的级别。
additivity: 是否向上级loger传递打印信息。默认是true。
<logger>可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个 logger
-->
<!--
也是<logger>元素,但是它是根logger。默认debug level:用来设置打印级别,
大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
<root>可以包含零个或多个<appender-ref>元素,
标识这个appender将会添加到这个 logger。
-->
<!--root logger 配置-->
<root lever="ALL">
<appender-ref ref="console"></appender-ref>
</root>
</configuration>