实现在线自定日志功能,摆脱日志xml配置带来的不方便,实现在线查看日志,在线定义模块日志,灵活修改日志级别和日志文件信息,支持负载均衡需要日志同步功能和设置共享目录
1、logback.xml配置
<configuration scan="false" scanPeriod="3 seconds">
<property name="log.dir" value="D:/HAP" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%X{userId}] [%X{userName}] [%X{requestId}] %logger - %msg%n</pattern>
</encoder>
</appender>
<!--输出源 将日志保存到本地 -->
<appender name="FILEOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Prodent>fasle</Prodent>
<!-- 设置滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件保存路径 -->
<FileNamePattern>${log.dir}/hap-%d{yyyy-MM-dd}.log</FileNamePattern>
<!--文件有效 时间 60天 -->
<MaxHistory>60</MaxHistory>
</rollingPolicy>
<!--格式化日志输出 -->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%X{userId}] [%X{userName}] [%X{requestId}] %logger - %msg%n</pattern>
</encoder>
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter"> -->
<!-- 设置过滤级别 代表FILEOUT直接收INFO级别的日志,其他级别的都过滤掉 相当于从给定日志级别区间中过滤-->
<!-- <level>INFO</level> -->
<!-- 配置符合过滤条件的操作 -->
<!-- <onMatch>ACCEPT</onMatch> -->
<!--配置不符合过滤条件的操作 -->
<!-- <onMismatch>DENY</onMismatch> -->
<!-- </filter> -->
</appender>
<!-- <appender name="PLATFORM-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%X{accountId}] [%X{requestId}] %logger - %msg%n</pattern>
</encoder>
<file>${catalina.base}/logs/hap.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${catalina.base}/logs/hap-%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
</appender>-->
<!-- <appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketApp