logback 配置

今天接到个需求,项目要对接日志平台,需要完善项目的日志。本来想着这是很简单的事嘛,因为我之前就整理过logbcak的配置文件,直接拿过来就可以用啦。理想很美好,现实很残酷,我的之前整理的项目放在了gitHub上,公司的网又上不去gitHub。
没办法,只能在上网找,在整理下。这里不得不吐槽一句,现在的博客真是千篇一律,也要夸一句,将一篇博客搬来搬去,一个标点符号都不丢,也是本事了。

<?xml version="1.0" encoding="UTF-8" ?> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 --> <!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true --> <!-- scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 --> <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --> <configuration scan="true" scanPeriod="30 seconds" debug="false"> <!--property:用来定义变量值,会被插入到logger上下文中,可以使“${}”来使用变量。--> <!--name的值是变量的名称;value是变量的值。--> <property name="LOG_NAME" value="m-shop-test-log"></property> <!--日志输出文件位置--> <property name="LOG_PATH" value="logs"></property> <!--输出编码--> <property name="ENCODING" value="UTF-8"></property> <!--日志输出格式--> <property name="LOG_FORMAT" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50}:%L - %msg%n"></property> <!--上下文名称,默认:default 用于区分不同应用程序的记录--> <contextName>${LOG_NAME}</contextName> <!--timestamp:获取时间戳字符串,他有两个属性key和datePattern--> <!--key为timestamp标签的名字;datePattern是设置将当前时间(解析配置文件的时间)转换为字符串的模式--> <timestamp key="dateFormat" datePattern="yyyy-MM-dd HH:mm:ss"></timestamp> <!--appender:负责写日志的组件,它有两个必要属性name和class。name指定appender名称,class指定appender的全限定名--> <!--将日志输出到控制台--> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>debug</level> </filter> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--打印格式--> <pattern>${LOG_FORMAT}</pattern> <!-- 设置字符集 --> <charset>${ENCODING}</charset> </encoder> </appender> <!--将日志打印到文件(时间滚动输出)--> <appender name="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.TimeBasedRollingPolicy"> <!--日志归档--> <fileNamePattern>${LOG_PATH}/${LOG_NAME}-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!--日志文件最大大小--> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>30</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--打印格式--> <pattern>${LOG_FORMAT}</pattern> <!-- 设置字符集 --> <charset>${ENCODING}</charset> </encoder> </appender> <logger name="m-shop-mybatis-sql" level="debug"> </logger> <springProfile name="dev,test"> <!-- 日志输出级别 --> <root level="info"> <appender-ref ref="CONSOLE" /> </root> </springProfile> <springProfile name="prod"> <!-- 日志输出级别 --> <root level="info"> <appender-ref ref="FILE" /> </root> </springProfile> </configuration>

__EOF__

本文作者masy
本文链接https://www.cnblogs.com/masy-lucifer/p/15633381.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   masy  阅读(116)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示