• springboot整合log4j


    引入依赖

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-webartifactId>
    4. <version>2.5.2version>
    5. <exclusions>
    6. <exclusion>
    7. <groupId>org.springframework.bootgroupId>
    8. <artifactId>spring-boot-starter-loggingartifactId>
    9. exclusion>
    10. exclusions>
    11. dependency>
    12. <dependency>
    13. <groupId>org.springframework.bootgroupId>
    14. <artifactId>spring-boot-starter-log4j2artifactId>
    15. <version>2.5.2version>
    16. dependency>

    编写log4j.xml

    可以指定某些包下面的日志级别,参考下面spring日志
    1. "1.0" encoding="UTF-8"?>
    2. <Configuration monitorInterval="180" packages="">
    3. <properties>
    4. <property name="LOG_HOME">logsproperty>
    5. <property name="PATTERN">%date{YYYY-MM-dd HH:mm:ss,SSS} %level [%thread][%file:%line] - %msg%n%throwableproperty>
    6. properties>
    7. <Appenders>
    8. <Console name="consoleAppender" target="SYSTEM_OUT">
    9. <PatternLayout
    10. pattern="%style{%d{ISO8601}}{bright,green} %highlight{%-5level} [%style{%t}{bright,blue}] %style{%C{}}{bright,yellow}: %msg%n%style{%throwable}{red}"
    11. disableAnsi="false" noConsoleNoAnsi="false"/>
    12. Console>
    13. <RollingFile name="allFileAppender"
    14. fileName="${LOG_HOME}/all.log"
    15. filePattern="${LOG_HOME}/$${date:yyyy-MM}/all-%d{yyyy-MM-dd}-%i.log.gz">
    16. <PatternLayout>
    17. <pattern>%d %p %C{} [%t] %m%npattern>
    18. PatternLayout>
    19. <Policies>
    20. <SizeBasedTriggeringPolicy size="100 MB"/>
    21. <TimeBasedTriggeringPolicy/>
    22. Policies>
    23. <DefaultRolloverStrategy max="100"/>
    24. RollingFile>
    25. <RollingFile name="debugFileAppender"
    26. fileName="${LOG_HOME}/debug.log"
    27. filePattern="${LOG_HOME}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
    28. <Filters>
    29. <ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
    30. Filters>
    31. <PatternLayout>
    32. <pattern>%d %p %C{} [%t] %m%npattern>
    33. PatternLayout>
    34. <Policies>
    35. <SizeBasedTriggeringPolicy size="100 MB"/>
    36. <TimeBasedTriggeringPolicy/>
    37. Policies>
    38. <DefaultRolloverStrategy max="100"/>
    39. RollingFile>
    40. <RollingFile name="infoFileAppender"
    41. fileName="${LOG_HOME}/info.log"
    42. filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
    43. <Filters>
    44. <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
    45. Filters>
    46. <PatternLayout>
    47. <pattern>%d %p %C{} [%t] %m%npattern>
    48. PatternLayout>
    49. <Policies>
    50. <SizeBasedTriggeringPolicy size="100 MB"/>
    51. <TimeBasedTriggeringPolicy/>
    52. Policies>
    53. RollingFile>
    54. <RollingFile name="warnFileAppender"
    55. fileName="${LOG_HOME}/warn.log"
    56. filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
    57. <Filters>
    58. <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
    59. Filters>
    60. <PatternLayout>
    61. <pattern>%d %p %C{} [%t] %m%npattern>
    62. PatternLayout>
    63. <Policies>
    64. <SizeBasedTriggeringPolicy size="100 MB"/>
    65. <TimeBasedTriggeringPolicy/>
    66. Policies>
    67. <DefaultRolloverStrategy max="100"/>
    68. RollingFile>
    69. <RollingFile name="errorFileAppender"
    70. fileName="${LOG_HOME}/error.log"
    71. filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
    72. <PatternLayout>
    73. <pattern>%d %p %C{} [%t] %m%npattern>
    74. PatternLayout>
    75. <Policies>
    76. <SizeBasedTriggeringPolicy size="100 MB"/>
    77. <TimeBasedTriggeringPolicy/>
    78. Policies>
    79. <DefaultRolloverStrategy max="100"/>
    80. RollingFile>
    81. <RollingFile name="errorJsonAppender"
    82. fileName="${LOG_HOME}/error-json.log"
    83. filePattern="${LOG_HOME}/error-json-%d{yyyy-MM-dd}-%i.log.gz">
    84. <JSONLayout compact="true" eventEol="true" locationInfo="true"/>
    85. <Policies>
    86. <SizeBasedTriggeringPolicy size="100 MB"/>
    87. <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
    88. Policies>
    89. RollingFile>
    90. Appenders>
    91. <Loggers>
    92. <Root level="debug">
    93. <AppenderRef ref="allFileAppender" level="all"/>
    94. <AppenderRef ref="consoleAppender" level="debug"/>
    95. <AppenderRef ref="debugFileAppender" level="debug"/>
    96. <AppenderRef ref="infoFileAppender" level="info"/>
    97. <AppenderRef ref="warnFileAppender" level="warn"/>
    98. <AppenderRef ref="errorFileAppender" level="error"/>
    99. <AppenderRef ref="errorJsonAppender" level="error"/>
    100. Root>
    101. <Logger name="springfox" level="INFO"/>
    102. <Logger name="org.springframework" level="info"/>
    103. Loggers>
    104. Configuration>

    application.xml

    1. server:
    2. port: 8080
    3. logging:
    4. config: classpath:log4j.xml

    测试 

    1. package org.example;
    2. import jdk.nashorn.internal.runtime.logging.Logger;
    3. import org.slf4j.LoggerFactory;
    4. import org.springframework.boot.SpringApplication;
    5. import org.springframework.boot.autoconfigure.SpringBootApplication;
    6. import javax.annotation.PostConstruct;
    7. /**
    8. * @author cyz
    9. * @since 2024/3/12 17:38
    10. */
    11. @Logger
    12. @SpringBootApplication
    13. public class Main {
    14. org.slf4j.Logger logger = LoggerFactory.getLogger(Main.class);
    15. public static void main(String[] args) {
    16. SpringApplication.run(Main.class);
    17. }
    18. @PostConstruct
    19. void testLog(){
    20. logger.info("输出info日志");
    21. logger.warn("输出warn日志");
    22. logger.debug("输出debug日志");
    23. logger.error("输出error日志");
    24. }
    25. }

    结果

  • 相关阅读:
    freefilesync文件同步软件
    Arm Cache学习资料大汇总
    如何用内容营销推动企业成长?媒介盒子教你三步实现
    C# Onnx LSTR 基于Transformer的端到端实时车道线检测
    华为交换机S5700系列产品命名规则
    文件上传漏洞 解析、验证、伪造(二)
    从零开始配置 vim(10)——快捷键配置
    MySQL 经典面试题分析(值得收藏)
    【C 数据结构】图
    基于机器学习的课堂自动点名系统
  • 原文地址:https://blog.csdn.net/qq_62408075/article/details/136659092