在springboot 的官方文档中,关于springboot集成logback的说明中提到【https://docs.spring.io/spring-boot/docs/2.4.5/reference/htmlsingle/#boot-features-logback-extensions】
集成logback到springboot中,有以下几个注意点。
1. 将logback的配置改为:logback-spring.xml
2. 在logback-spring.xml配置引用springboot的配置信息。使用 springProperty 节点进行配置引用即可
在springboot的application.yml中配置#日志配置 logback: path: .
/jezs_logs在logback
-spring.xml中引用此配置项 <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 日志存放路径 --> <springProperty scope="context" name="log.path" source="logback.path"/> <!-- 日志输出格式 --> <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/><!-- 控制台输出 --> <appender name=<span style="color: #800000;">"</span><span style="color: #800000;">console</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.ConsoleAppender</span><span style="color: #800000;">"</span>> <encoder> <pattern>${log.pattern}</pattern> </encoder> </appender> <!-- 识别的API日志输出 --> <appender name=<span style="color: #800000;">"</span><span style="color: #800000;">jezs</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.rolling.RollingFileAppender</span><span style="color: #800000;">"</span>> <file>${log.path}/ocr-info.log</file> <!-- 循环政策:基于时间创建日志文件 --> <rollingPolicy <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.rolling.TimeBasedRollingPolicy</span><span style="color: #800000;">"</span>> <!-- 日志文件名格式 --> <fileNamePattern>${log.path}/jezs.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志最大的历史 60天 --> <maxHistory><span style="color: #800080;">60</span></maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> </encoder> <filter <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.classic.filter.LevelFilter</span><span style="color: #800000;">"</span>> <!-- 过滤的级别 --> <level>INFO</level> <!-- 匹配时的操作:接收(记录) --> <onMatch>ACCEPT</onMatch> <!-- 不匹配时的操作:拒绝(不记录) --> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 系统日志输出 --> <appender name=<span style="color: #800000;">"</span><span style="color: #800000;">file_info</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.rolling.RollingFileAppender</span><span style="color: #800000;">"</span>> <file>${log.path}/sys-info.log</file> <!-- 循环政策:基于时间创建日志文件 --> <rollingPolicy <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.rolling.TimeBasedRollingPolicy</span><span style="color: #800000;">"</span>> <!-- 日志文件名格式 --> <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志最大的历史 60天 --> <maxHistory><span style="color: #800080;">60</span></maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> </encoder> <filter <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.classic.filter.LevelFilter</span><span style="color: #800000;">"</span>> <!-- 过滤的级别 --> <level>INFO</level> <!-- 匹配时的操作:接收(记录) --> <onMatch>ACCEPT</onMatch> <!-- 不匹配时的操作:拒绝(不记录) --> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name=<span style="color: #800000;">"</span><span style="color: #800000;">file_error</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.rolling.RollingFileAppender</span><span style="color: #800000;">"</span>> <file>${log.path}/sys-error.log</file> <!-- 循环政策:基于时间创建日志文件 --> <rollingPolicy <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.rolling.TimeBasedRollingPolicy</span><span style="color: #800000;">"</span>> <!-- 日志文件名格式 --> <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志最大的历史 60天 --> <maxHistory><span style="color: #800080;">60</span></maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> </encoder> <filter <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.classic.filter.LevelFilter</span><span style="color: #800000;">"</span>> <!-- 过滤的级别 --> <level>ERROR</level> <!-- 匹配时的操作:接收(记录) --> <onMatch>ACCEPT</onMatch> <!-- 不匹配时的操作:拒绝(不记录) --> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 用户访问日志输出 --> <appender name=<span style="color: #800000;">"</span><span style="color: #800000;">sys-user</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.rolling.RollingFileAppender</span><span style="color: #800000;">"</span>> <file>${log.path}/sys-user.log</file> <rollingPolicy <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">ch.qos.logback.core.rolling.TimeBasedRollingPolicy</span><span style="color: #800000;">"</span>> <!-- 按天回滚 daily --> <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志最大的历史 60天 --> <maxHistory><span style="color: #800080;">60</span></maxHistory> </rollingPolicy> <encoder> <pattern>${log.pattern}</pattern> </encoder> </appender> <!-- 系统模块日志级别控制 --> <logger name=<span style="color: #800000;">"</span><span style="color: #800000;">com.wycms</span><span style="color: #800000;">"</span> level=<span style="color: #800000;">"</span><span style="color: #800000;">info</span><span style="color: #800000;">"</span>/> <!-- Spring日志级别控制 --> <logger name=<span style="color: #800000;">"</span><span style="color: #800000;">org.springframework</span><span style="color: #800000;">"</span> level=<span style="color: #800000;">"</span><span style="color: #800000;">warn</span><span style="color: #800000;">"</span>/> <root level=<span style="color: #800000;">"</span><span style="color: #800000;">info</span><span style="color: #800000;">"</span>> <appender-<span style="color: #0000ff;">ref</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">console</span><span style="color: #800000;">"</span>/> </root> <!--系统操作日志--> <root level=<span style="color: #800000;">"</span><span style="color: #800000;">info</span><span style="color: #800000;">"</span>> <appender-<span style="color: #0000ff;">ref</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">file_info</span><span style="color: #800000;">"</span>/> <appender-<span style="color: #0000ff;">ref</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">file_error</span><span style="color: #800000;">"</span>/> </root> <!--系统用户操作日志--> <logger name=<span style="color: #800000;">"</span><span style="color: #800000;">sys-user</span><span style="color: #800000;">"</span> level=<span style="color: #800000;">"</span><span style="color: #800000;">info</span><span style="color: #800000;">"</span>> <appender-<span style="color: #0000ff;">ref</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">sys-user</span><span style="color: #800000;">"</span>/> </logger> <!--请求第三方接口的日志信息--> <logger name=<span style="color: #800000;">"</span><span style="color: #800000;">jezs</span><span style="color: #800000;">"</span> level=<span style="color: #800000;">"</span><span style="color: #800000;">info</span><span style="color: #800000;">"</span>> <appender-<span style="color: #0000ff;">ref</span> <span style="color: #0000ff;">ref</span>=<span style="color: #800000;">"</span><span style="color: #800000;">jezs</span><span style="color: #800000;">"</span>/> </logger>
</configuration>
3 查看配置以及结果<springProperty scope="context" name="log.path" source="logback.path"/>
其中:log.path 为logback.xml中配置的参数,其值为logback.path,是在springboot中配置节设置的
查看生成的日志目录