logback的配置文件实例,记录下来防止健忘
另中文网站也记录下地址:http://www.logback.cn
<?xml version="1.0" encoding="UTF-8"?> <!--根节点<configuration> scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。--> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <!--用来设置上下文名称,每个logger都关联到logger上下文,默认上下文名称为default。但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录--> <contextName>myAppName</contextName> <!--可以用来定义若干个变量值,它有两个属性name和value,在logger上下文中,可以使“${}”来使用变量。--> <property name="变量的名称" value="变量定义的值"/> <property name="变量的名称" value="变量定义的值"/> <!--获取时间戳字符串 datePattern设置将当前时间(解析配置文件的时间)转换为字符串的模式,遵循java.txt.SimpleDateFormat的格式--> <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/> <!--责写日志的组件,它有两个必要属性name和class。name指定appender名称,class指定appender的全限定名--> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!--写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。--> <file>${LOG_HOME}/${LOG_APP}/error.log</file> <!--如果是 true,日志被追加到文件结尾,如果是 false,清空现存文件,默认是true--> <append>true</append> <!--对日志进行格式化--> <encoder> <pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - [%file:%line] - %msg%n</pattern> <charset>UTF-8</charset> </encoder> <!--滚动记录文件配置,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--TimeBasedRollingPolicy它根据时间来制定滚动策略,既负责滚动也负责出发滚动--> <fileNamePattern>${LOG_HOME}/${LOG_APP}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!--归档文件的最大数量,超出数量就删除旧文件--> <maxHistory>30</maxHistory> <!--文件的大小,默认值是10MB--> <maxFileSize>10MB</maxFileSize> <!--文件总大小不能超过10G--> <totalSizeCap>10GB</totalSizeCap> </rollingPolicy> <!--告知 RollingFileAppender 合适激活滚动--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <!--文件达到 最大52MB时会被压缩和切割 --> <maxFileSize>52MB</maxFileSize> </triggeringPolicy> <!--日志会被安全的写入文件,即使其他的FileAppender也在向此文件做写入操作,效率低,默认是 false--> <prudent>false</prudent> </appender> <!-- 用来设置某一个包或具体的某一个类的日志打印级别、以及指定<appender>。<loger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。 可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个loger level:打印级别(大小写无关):TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。 如果未设置此属性,那么当前loger将会继承上级的级别。--> <logger name="指定受此loger约束的某一个包或者具体的某一个类,如java.sql.Connection" level="INFO"> <appender-ref ref="STDOUT"/> </logger> <root level="DEBUG"> <appender-ref ref="STDOUT"/> </root> </configuration>