logback的简单配置
<?xml version="1.0" encoding="UTF-8"?>
<!-- scan=true,配置文件修改后自动加载配置文件 -->
<configuration scan="true" debug="true">
<!-- 日志文件位置 -->
<property name="log" value="E:/data/logs/silencer"></property>
<!-- 输出日志到文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log}/silencer.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 定义文件路径 -->
<FileNamePattern>${log}/silencer-%d{yyyy-MM-dd}.log</FileNamePattern>
<!-- 日志保留天数 -->
<MaxHistory>5</MaxHistory>
<!-- 日志文件大小设置 -->
<MaxFileSize>64MB</MaxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} ---> %msg%n</pattern>
<charset>UTF-8</charset>
<immediateFlush>true</immediateFlush>
</encoder>
</appender>
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- 控制台日志的输出格式 layout和encoder有什么区别 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<Pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} ---> %msg%n</Pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 给不同的包定义不同的日志级别 -->
<logger name="com.silencer" level="debug" />
<!-- 日志输出级别 启用上面配置的哪个日志,如果没有file,则不会在创建的日志文件中写入内容和immediateFlush=true联用-->
<root level="debug">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
日志级别 error>warn>info>debug
当root的级别定义为error时,是不会输出debug,info,warn这三个级别的日志的
当root的级别定义为debug时,可以输出所有级别的日志