SpringBoot中logback的logback配置。
在src/main/resources/目录下(即:classpath),创建logback.xml (是不是很简单)
logback.xml的理解
logback.xml的整体结构
configuration property appender logger root
property
作用:声明一个变量,key = "xxx", 在全文通用,${key} == xxx <property name="key" value="xxx" />
appender
appender负责写日志的组件,例如在控制台打印 or xxx功能打印 有两个必要的属性:name, class。 name指定appender的名称。 class指定功能类全名,如:控制台 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> </appender> ========================================================= 可以将日志格式化(编写控制台打印日志的appender) <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:SS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> ========================================================= appender内有一个很实用的标签<rollingPolicy>滚动记录, 通常在里面指定 日志文件名称 及 最大容量 <properry name="DEV_HOME" value="./logback/logs" /> <appender name="FILE-WEB" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBaseRollingPolicy"> <fileNamePattern>${DEV_HOME}/web.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10M</maxFileSizae> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:SS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender>
logger
logger 是来设置某一个包或者具体的某一个类的日志打印级别 必选属性:name---指定那个包或类受该logger的约束 可选属性: level---指定日志打印级别 additivity--- 是否向上级loger传递打印信息,默认为true; logger内可以含有多个<appender-ref ref="appenderName"> 引入appender 例子如下: <logger name="com.sprint.xxx" level="info" additivity="false"> <appender-ref ref="FILE-WEB"/> </logger>
root
日志的主线程 属性name 已设为root 可选:level,additivity <root level="info"> <appender-ref ref="FILE-WEB"/> </root>