1、日志打印配置:
1.1 logback.xml:
<?xml version="1.0" ?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 自定义pattern -->
<property name="CONSOLE_LOG_PATTERN"
value="%green(%d{yyyy-MM-dd HH:mm:ss.SSS}) | %red([%-5level]) | %cyan(%logger - %msg%n)"></property>
<!--控制台日志 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!--<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<!–表示匹配该级别及以上–>
<onMatch>ACCEPT</onMatch>
<!–表示不匹配该级别以下的–>
<onMismatch>DENY</onMismatch>
</filter>-->
<encoder>
<pattern>
<!--日志输出格式-->
<!--%green(%d{yyyy-MM-dd HH:mm:ss.SSS}) %red([%-5level]) %cyan(%logger - %msg%n)-->
${CONSOLE_LOG_PATTERN}
</pattern>
</encoder>
</appender>
<!-- INFO级别日志,记录INFO级别及比INFO更高级别的日志-->
<appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>
<!--日志引文件路径-->
${user.dir}\logs\%d{yyyy-MM-dd}\info.log
</fileNamePattern>
<!-- 日志保存15天,超过15天自动删除 -->
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
<!--日志输出格式-->
%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger - %msg%n
</pattern>
</encoder>
</appender>
<!-- ERROR级别日志,只记录Error级别日志 -->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 过滤器,只记录ERROR级别的日志,如果日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>
<!--日志文件路径-->
${user.dir}\logs\%d{yyyy-MM-dd}\error.log
</fileNamePattern>
<!-- 日志保存15天,超过15天自动删除 -->
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
<!--日志输出格式-->
%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger - %msg%n
</pattern>
</encoder>
</appender>
<!-- 配置日志打印等级 -->
<root level = "INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="INFO"/>
<appender-ref ref="ERROR"/>
</root>
</configuration>
1.2 日志等级配置
有两种方式配置日志等级(目前只写这两种):
1、<root>: root标签配置日志等级作为总开关,控制引用的appender的日志等级
2、<filter>: 在appender中配置filter,但是只配置<level>的话,优先级没有<root>标签配置的等级高;若搭配<onMatch>、<onMismatch>标签进行配置的话,应该优先级比<root>高(个人理解,有更好的见解请留言指导)
2、日志打印
@RestController
public class Hello {
private final Logger logger = LoggerFactory.getLogger(Hello.class);
@RequestMapping(value = "hello", method = RequestMethod.POST)
public String hello() {
String method = "hello";
logger.info("进入{}方法", method);
logger.error("{}方法处理中", method);
logger.debug("{}方法结束", method);
return "hello";
}
}
3、修改控制台日志颜色
例如:
%d{yyyy-MM-dd HH:mm:ss.SSS} | [%-5level] | %logger - %msg%n
修改字体颜色,语法:
%+颜色+括号(**将需要修改颜色的内容括在里面,注意括号后面需要空格隔开**)
%green(%d{yyyy-MM-dd HH:mm:ss.SSS}) | %red([%-5level]) | %cyan(%logger - %msg%n)
版权声明:本文为zhangwenchao0814原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。