• springboot整合日志log4j(按日期、大小分割)


    日志不与客户端产生交互,但是这一点都不会降低日志的重要性。

    1、导入依赖

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <!--我演示的项目是前后端交互的后台项目,spring-boot-starter也可以 -->
                <exclusions>
                    <exclusion><!-- 去除默认配置 -->
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-log4j2</artifactId>
                <version>1.5.6.RELEASE</version>
            </dependency>
            <dependency>  <!-- 支持识别yml配置 -->
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-yaml</artifactId>
            </dependency>            

    2、在resources目录下创建log4j2.yml文件

    Appenders:
      Console:  #输出到控制台
        name: CONSOLE #Appender命名
        target: SYSTEM_OUT
        PatternLayout:
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
      RollingFile: # 输出到文件,超过256MB归档
      - name: ROLLING_FILE
        ignoreExceptions: false
        fileName: /var/log/***/logs/***.log
        filePattern: "/var/log/***/logs/$${date:yyyy-MM}/newknowledgebase-%d{yyyy-MM-dd}-%i.log"
        PatternLayout:
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
        Policies:
          SizeBasedTriggeringPolicy:
            size: "8 KB"#这是为了测试,可以更改如MB等
        DefaultRolloverStrategy:
          max: 1000
    Loggers:
      Root:
        level: info
        AppenderRef:
        - ref: CONSOLE
      Logger: #单独设置某些包的输出级别
      - name: com.***.***#复数加上-(这里我设置的是包的根路径的包名)
        additivity: false #去除重复的log
        level: info
        AppenderRef:
        - ref: CONSOLE #复数加上-
        - ref: ROLLING_FILE #复数加上-

    该项目是运行在服务器上,本地运行只需要将日志目录改成你本地的路径就行。

    3、效果展示

  • 相关阅读:
    Swing编程之helloworld
    spring boot集成redis缓存
    Redis安装与运行讲解
    使用IDEA创建Spring boot项目,集成mybaits。并进行简单的数据库查询操作
    SQL字符串拼接FOR XML PATH
    Webservice大文件断点续传
    SQL查询库、表,列等的一些操作
    SQL列转行,行转列实现
    写一个发布Windows服务服务的小工具
    使用DocX替代COM组件的实现
  • 原文地址:https://www.cnblogs.com/pengpengdeyuan/p/13633334.html
Copyright © 2020-2023  润新知