• SpringBoot-logback不同业务模块输出不同的日志文件


            工作中有些业务模块日志输出比较频繁,影响其他业务模块问题排查,可以使用logback实现根据不同的业务输出到不同的日志文件

    1、在resource下创建文件logback-spring.xml

    2、在logback.xml中添加如下配置

    1. "1.0" encoding="UTF-8"?>
    2. <configuration debug="false" scan="false">
    3. <springProperty scop="context" name="spring.application.name" source="spring.application.name"
    4. defaultValue="atm-at-web"/>
    5. <property name="log.path" value="logs/${spring.application.name}"/>
    6. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    7. <encoder>
    8. <pattern>%d{MM-dd HH:mm:ss.SSS} %-5level [%logger{50}] - %msg%npattern>
    9. encoder>
    10. appender>
    11. <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
    12. <file>${log.path}/info.logfile>
    13. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    14. <fileNamePattern>${log.path}/%d{yyyy-MM}/info.%d{yyyy-MM-dd}.%i.log.gzfileNamePattern>
    15. <maxFileSize>10MBmaxFileSize>
    16. <maxHistory>30maxHistory>
    17. rollingPolicy>
    18. <encoder>
    19. <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%npattern>
    20. encoder>
    21. appender>
    22. <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
    23. <file>${log.path}/error.logfile>
    24. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    25. <fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gzfileNamePattern>
    26. <maxFileSize>10MBmaxFileSize>
    27. <maxHistory>30maxHistory>
    28. <totalSizeCap>3GBtotalSizeCap>
    29. rollingPolicy>
    30. <encoder>
    31. <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%npattern>
    32. encoder>
    33. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
    34. <level>ERRORlevel>
    35. filter>
    36. appender>
    37. <appender name="extApiAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    38. <file>${log.path}/extApi.logfile>
    39. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    40. <fileNamePattern>${log.path}/%d{yyyy-MM}/extApi.%d{yyyy-MM-dd}.%i.log.gzfileNamePattern>
    41. <maxFileSize>10MBmaxFileSize>
    42. <maxHistory>30maxHistory>
    43. rollingPolicy>
    44. <encoder>
    45. <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%npattern>
    46. encoder>
    47. appender>
    48. <root level="INFO">
    49. <appender-ref ref="console"/>
    50. <appender-ref ref="info"/>
    51. <appender-ref ref="error"/>
    52. root>
    53. <logger name="extApi" additivity="false" level="INFO">
    54. <appender-ref ref="console"/>
    55. <appender-ref ref="extApiAppender"/>
    56. logger>
    57. configuration>

    PS:我们定义了一个名为 extApi 的appender,在相关业务代码中,我们还需要定义一个logger与它绑定。

    private final static Logger extApiLogger = LoggerFactory.getLogger("extApi");

    3、日志文件

  • 相关阅读:
    第5/100天 阅读笔记
    centos设置root免密自动登陆
    从零开始学mitmproxy抓包工具
    [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞s2-046(CVE-2017-5638)
    行业追踪,2023-10-11
    一种多策略改进的麻雀搜索算法
    【C语言初级】0 准备工作
    STM32 GD32 标准库移植SFUD
    2022年上半年信息系统项目管理师下午案例分析真题及答案解析
    竞速榜实时离线对数方案演进介绍
  • 原文地址:https://blog.csdn.net/W_Meng_H/article/details/132830835