JNotepad/src/main/resources/logback.xml
2023-08-24 17:30:22 +08:00

124 lines
5.8 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!-- scan属性未true时如果配置文档发生改变将会进行重新加载 -->
<!-- scanPeriod属性设置监测配置文件修改的时间间隔默认单位为毫秒在scan为true时才生效 -->
<!-- debug属性如果为true时会打印出logback内部的日志信息 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 定义参数常量 -->JJ
<!-- 日志级别TRACE<DEBUG<INFO<WARN<ERROR其中常用的是DEBUG、INFO和ERROR -->
<property name="log.level" value="debug"/>
<!-- 文件保留时间 -->
<property name="log.maxHistory" value="30"/>
<!-- 日志存储路径 -->
<property name="log.filePath" value="logs"/>
<!--打包时,请使用下方的路径-->
<!--<property name="log.filePath" value="../logs"/>-->
<!-- 日志的显式格式 -->
<property name="log.pattern"
value="时间:[%d{yyyy-MM-dd HH:mm:ss.SSS}] 线程:[%thread] 日志级别:[%-5level] 调用位置:[%logger{50} 参见:[\(%F:%L\)]] - 日志信息:[%msg]%n">
</property>
<!-- 用于说明输出介质,此处说明控制台输出 -->
<appender name="consoleAppender"
class="ch.qos.logback.core.ConsoleAppender">
<!-- 类似于layout除了将时间转化为数组还会将转换后的数组输出到相应的文件中 -->
<encoder>
<!-- 定义日志的输出格式 -->
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- DEBUG表示文件随着时间的推移按时间生成日志文件 -->
<appender name="debugAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路径 -->
<file>${log.filePath}/debug.log</file>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 设置文件名称 -->
<fileNamePattern>
${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<!-- 设置最大保存周期 -->
<MaxHistory>${log.maxHistory}</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<!-- 过滤器,过滤掉不是指定日志水平的日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 设置日志级别 -->
<level>DEBUG</level>
<!-- 如果跟该日志水平相匹配,则接受 -->
<onMatch>ACCEPT</onMatch>
<!-- 如果跟该日志水平不匹配,则过滤掉 -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- INFO表示文件随着时间的推移按时间生成日志文件 -->
<appender name="infoAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路径 -->
<file>${log.filePath}/info.log</file>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 设置文件名称 -->
<fileNamePattern>
${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<!-- 设置最大保存周期 -->
<MaxHistory>${log.maxHistory}</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<!-- 过滤器,过滤掉不是指定日志水平的日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 设置日志级别 -->
<level>INFO</level>
<!-- 如果跟该日志水平相匹配,则接受 -->
<onMatch>ACCEPT</onMatch>
<!-- 如果跟该日志水平不匹配,则过滤掉 -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- ERROR表示文件随着时间的推移按时间生成日志文件 -->
<appender name="errorAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路径 -->
<file>${log.filePath}/error.log</file>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 设置文件名称 -->
<fileNamePattern>
${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<!-- 设置最大保存周期 -->
<MaxHistory>${log.maxHistory}</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<!-- 过滤器,过滤掉不是指定日志水平的日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 设置日志级别 -->
<level>ERROR</level>
<!-- 如果跟该日志水平相匹配,则接受 -->
<onMatch>ACCEPT</onMatch>
<!-- 如果跟该日志水平不匹配,则过滤掉 -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 用于存放日志对象同时指定关联的package位置 -->
<!-- name指定关联的package -->
<!-- level表明指记录哪个日志级别以上的日志 -->
<!-- appender-ref指定logger向哪个文件输出日志信息 -->
<!-- additivity为true时logger会把根logger的日志输出地址加入进来但logger水平不依赖于根logger -->
<logger name="org.jcnc.jnotepad" level="${log.level}" additivity="true">
<appender-ref ref="debugAppender"/>
<appender-ref ref="infoAppender"/>
<appender-ref ref="errorAppender"/>
</logger>
<!-- 特殊的logger根logger -->
<root lever="info">
<!-- 指定默认的日志输出 -->
<appender-ref ref="consoleAppender"/>
</root>
</configuration>