logback-spring.xml的配置,能够在服务器上查看日志

mac2024-01-31  40

<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>logback</contextName> <!-- 控制台输出 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 系统错误日志文件 --> <appender name="SYSTEM_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 过滤器,只打印ERROR级别的日志 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--日志文件输出的文件名--> <fileNamePattern>./logs/error_log/%d{yyyy-MM-dd}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!--日志文件保留天数--> <maxHistory>15</maxHistory> <maxFileSize>100MB</maxFileSize> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 自己打印的日志文件,用于记录重要日志信息 --> <appender name="MY_INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 过滤器,打印INFO级别的日志 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!--日志文件输出的文件名--> <fileNamePattern>./logs/info_log/%d{yyyy-MM-dd}/info.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!--日志文件保留天数--> <maxHistory>15</maxHistory> <maxFileSize>100MB</maxFileSize> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 开发测试环境下的日志配置 和test1配置文件有关--> <!--spring。active.profile的对应值关联--> <springProfile name="test1"> <root level="INFO"> <!--CON这个是控制台输出,就是test1配置文件后,控制台有输出--> <appender-ref ref="CONSOLE" /> <appender-ref ref="SYSTEM_FILE" /> <appender-ref ref="MY_INFO_FILE" /> </root> </springProfile> <!-- 生产环境下的日志配置 关联到prod即正式的配置文件 --> <springProfile name="prod"> <root level="INFO"> <appender-ref ref="SYSTEM_FILE" /> <appender-ref ref="MY_INFO_FILE" /> </root> </springProfile> </configuration>

logback-spring.xml

上面的配置文件能够在服务器上实时动态打印日志,方便调试线上的bebug本地上跑的话,使用test1的配置文件时可以控制台打印日志而如果使用prod正式的配置文件,则不能打印,原因看两者配置区别

有什么问题,可以留言共同探讨

最新回复(0)