关键词:
- 日志信息按日期分割;
- 从xml配置信息中得到application.yml或properties键值作常量.
普通情况:使用application配置logging即可
但是随着时间积累log信息会越来越长而且不便查阅,此时可以按照日期分割日志信息,即日志名中包含日期信息,不同日期的日志存成不同的文件.
SpringBoot自带的logback库可以解决这个问题.
完整logback-spring.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<springProperty scope="context" name="log_home" source="tx.data.paths.log"/>
<property name="appname" value="DataManageSystem"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log_home}/${appname}.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<root level="WARN">
</root>
<logger name="com.yourpackage" level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</logger>
</configuration>
tips:
- 这里我设置的是自己的包输出info信息,而系统信息只输出warn以上的信息.
- 从application.yml中读取配置信息.
<springProperty scope="context" name="log_home" source="tx.data.paths.log"/>