<?xml version="1.0" encoding="utf-8" ?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <!-- 定义日志文件 输入位置 --> <property name="logPath" value="d:/wg_log" /> <!-- 日志最大的历史 30天 --> <property name="maxHistory" value="600"/> <!-- 配置项, 通过此节点配置日志输出位置(控制台、文件、数据库)、输出格式等--> <!-- ConsoleAppender代表输出到控制台 --> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <!-- layout代表输出格式 --> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern> </layout> </appender> <!-- 日志输出文件 --> <appender name="orderSuccessInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy"> <multiple>1</multiple> </timeBasedFileNamingAndTriggeringPolicy> <!-- 输出路径 --> <fileNamePattern>${logPath}/info/orderSuccess/%d{yyyy-MM-dd HH}.log</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> </rollingPolicy> </appender> <appender name="orderFailInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy"> <multiple>1</multiple> </timeBasedFileNamingAndTriggeringPolicy> <!-- 输出路径 --> <fileNamePattern>${logPath}/info/orderFail/%d{yyyy-MM-dd HH}.log</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> </rollingPolicy> </appender> <appender name="heartBeatLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy"> <multiple>1</multiple> </timeBasedFileNamingAndTriggeringPolicy> <!-- 输出路径 --> <fileNamePattern>${logPath}/info/heartBeat/%d{yyyy-MM-dd HH}.log</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> </rollingPolicy> </appender> <appender name="kaoInfoInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} -%msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy"> <multiple>1</multiple> </timeBasedFileNamingAndTriggeringPolicy> <!-- 输出路径 --> <fileNamePattern>${logPath}/info/kaoInfo/%d{yyyy-MM-dd HH}.log</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> </rollingPolicy> </appender> <!-- 特殊记录Error日志 --> <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 只记录ERROR级别日志,添加范围过滤,可以将该类型的日志特殊记录到某个位置 --> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <timeBasedFileNamingAndTriggeringPolicy class="com.sincere.weigeng.logs.MyTimeBasedFileNamingAndTriggeringPolicy"> <multiple>1</multiple> </timeBasedFileNamingAndTriggeringPolicy> <fileNamePattern>${logPath}/infoError/${PROJECT_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志最大的历史 60天 --> <maxHistory>${maxHistory}</maxHistory> </rollingPolicy> </appender> <!-- 不同的业务逻辑日志打印到指定文件夹--> <logger name="orderSuccess" additivity="false" level="INFO"> <appender-ref ref="orderSuccessInfoLog"/> </logger> <logger name="orderFail" additivity="false" level="INFO"> <appender-ref ref="orderFailInfoLog"/> </logger> <logger name="kaoInfo" additivity="false" level="INFO"> <appender-ref ref="kaoInfoInfoLog"/> </logger> <logger name="heartBeat" additivity="false" level="INFO"> <appender-ref ref="heartBeatLog"/> </logger> <logger name="error" additivity="false" level="ERROR"> <appender-ref ref="fileErrorLog"/> </logger> <root level="info"> <appender-ref ref="consoleLog" /> <appender-ref ref="orderSuccessInfoLog" /> <appender-ref ref="orderFailInfoLog" /> <appender-ref ref="kaoInfoInfoLog" /> <appender-ref ref="heartBeatLog" /> </root> <root level="error"> <appender-ref ref="fileErrorLog" /> </root> </configuration>