`

gradle boot log4j2

阅读更多
[list]
  • 1.首先去掉logback依赖, 在gradle中添加如下
  • configurations {
    	all*.exclude module: 'spring-boot-starter-logging'
        all*.exclude module: 'logback-classic'
        all*.exclude module: 'log4j-over-slf4j'
    }
    
  • 2.再添加log4j2的依赖和log4j2读取yaml文件依赖
  • compile ('org.springframework.boot:spring-boot-starter-log4j2')	
    compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.9.2'
    
  • 3.classpath下面添加文件log4j2.yaml, 示例内容如下(Unknown property 'Configuration'这个提示请忽略).自行更改包路径和日志写盘位置
  • Configuration:  
      status: warn  
      
      Properties: # 定义全局变量  
        Property: # 缺省配置(用于开发环境)。其他环境需要在VM参数中指定,如下:  
          #测试:-Dlog.level.console=warn -Dlog.level.ccl=trace  
          #生产:-Dlog.level.console=warn -Dlog.level.ccl=info        
          - name: log.level.console  
            value: trace  
          - name: log.level.ccl  
            value: trace         
          - name: log.path  
            value: C:/logs  
          - name: project.name  
            value: my-spring-boot  
        
      Appenders:  
        Console:  #输出到控制台  
          name: CONSOLE  
          target: SYSTEM_OUT  
          ThresholdFilter:  
            level: ${sys:log.level.console} # “sys:”表示:如果VM参数中没指定这个变量值,则使用本文件中定义的缺省全局变量值  
            onMatch: ACCEPT  
            onMismatch: DENY  
          PatternLayout:  
            pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %X{user} %t (%F:%L) - %m%n"  
        RollingFile: # 输出到文件,超过128MB归档  
          - name: ROLLING_FILE  
            ignoreExceptions: false  
            fileName: ${log.path}/${project.name}.log  
            filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"  
            PatternLayout:  
              pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"  
            Policies:  
              SizeBasedTriggeringPolicy:  
                size: "128 MB"  
            DefaultRolloverStrategy:  
              max: 1000  
      
      Loggers:  
        Root:  
          level: info  
          AppenderRef:  
            - ref: CONSOLE  
            - ref: ROLLING_FILE  
        Logger: # 为com.ccl包配置特殊的Log级别,方便调试  
          - name: com.ccl  
            additivity: false  
            level: ${sys:log.level.ccl}  
            AppenderRef:  
              - ref: CONSOLE  
              - ref: ROLLING_FILE  
    
  • 4.application.yaml中配置输出级别, 如下在针对app启动的日志无效了(测试用例中仍有效):
  • 这个时候参考log4j.yaml中的[定义全局变量]下方的name:value进行配置才会对boot启动日志有效
    logging:
      level:
        root: warn 
    
  • 5.测试用例
  • 
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.slf4j.MDC;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    import com.ccl.Application;
    
    @SpringBootTest(classes = Application.class)
    @RunWith(SpringJUnit4ClassRunner.class)
    public class Log4j2Test {
    
    	private final Logger logger = LoggerFactory.getLogger(this.getClass());
    
    	@Test
    	public void test() throws Exception {
    		MDC.put("user", "开车不直播, 出事贴吧找老哥.");//对应配置文件pattern中%X{user}变量
    		logger.trace("I am trace log.");
    		logger.debug("I am debug log.");
    		logger.warn("I am warn log.");
    		logger.error("I am error log.");
    	}
    }
    

    [/list]
    分享到:
    评论

    相关推荐

      spring-boot-starter-log4j2

      1. 添加依赖:在Maven或Gradle的配置文件中引入"spring-boot-starter-log4j2"依赖,如下所示(以Maven为例): ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-log4j2 ``` 2. 配置...

      若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

      通常,更新Log4j2的步骤包括下载最新的JAR文件,替换旧版本的JAR,或者通过Maven或Gradle等构建工具更新依赖。 标签“若依 log4j2.16.0”明确了这个问题针对的是若依框架中的Log4j2组件,提醒用户要特别关注这个...

      [简单]log4jdbc-log4j2配置简记

      1. 添加依赖:在项目中引入log4jdbc-log4j2和log4j2的依赖库,通常是在pom.xml文件中添加对应的Maven坐标或在build.gradle文件中添加Gradle依赖。 2. 配置数据源:在应用的配置文件(如Spring的application....

      Log4j2使用教程

      Log4j2可以轻松地与Spring Boot、Struts2、Hibernate等框架集成,为这些框架提供统一的日志记录。 **七、源码分析** Log4j2的源码清晰易读,学习源码可以帮助理解其工作原理,比如日志事件的处理流程、配置解析机制...

      Spring Boot Log4j2的配置使用详解

      Spring Boot Log4j2 的配置使用详解 本文主要介绍了 Spring Boot 中 Log4j2 的配置使用详解,包括 Log4j2 的导入、配置文件的创建、 appenders 的配置等内容。 Log4j2 简介 Log4j2 是 Apache Log4j 的升级版本,...

      Android log4j使用Demo

      implementation 'org.apache.logging.log4j:log4j-android:2.x.x' // 请替换为最新版本 } ``` 2. **配置log4j** 在Android中,log4j的配置文件通常以`.xml`或`.properties`格式存在。由于Android没有类路径...

      SpringBoot第 3 讲:SpringBoot+Junit+Log4J

      然后,在资源目录下创建`log4j.properties`或`log4j2.xml`配置文件,设置日志输出级别、目标和格式。SpringBoot会自动识别并加载这个配置,使得日志系统生效。 6. **测试与日志结合**: 在JUnit测试中,我们可以...

      Java-Spring-Boot-log4j:#Java Spring Boot log4j

      - 在Spring Boot项目中,通过添加`log4j2-spring-boot-starter`依赖,可以轻松集成Log4j 2。在`pom.xml`或`build.gradle`文件中,需引入对应的依赖库。 3. **配置Log4j 2** - Spring Boot允许在类路径下的`log4j2...

      spring-boot-log4j2-example

      首先,我们创建一个名为"spring-boot-log4j2-example"的项目,这通常是一个Maven或Gradle工程。Spring Boot项目的基础结构包括`pom.xml`(Maven)或`build.gradle`(Gradle)文件,它们定义了项目的依赖和构建过程。...

      毕业设计:资料管理系统-springboot整合ssm,shiro,log4j.zip

      这个毕业设计项目是基于Spring Boot技术栈构建的一个资料管理系统,它整合了Spring、SpringMVC、MyBatis(统称SSM)框架,以及Shiro安全框架和Log4j日志系统。这样的设计使得系统在拥有高效开发能力的同时,具备了...

      使用SpringBoot与Gradle、搭建多模块项目

      使用springboot+kotlin+ktor+gradle搭建多模块项目例子,该项目整合MybatisPlus做为数据库框架,可搭配文章‘SpringBoot整合Ktor2与MybatisPlus’ 与 ‘ktor 2.0的使用教程之实现log日志和jwt封装与异常处理’一起...

      maven+springboot+ mybatis+mysql+代码自动生成插件+log4j日志

      开发者可以利用Spring Boot快速搭建后端服务,通过MyBatis与MySQL数据库进行数据交互,利用代码生成插件减少重复编码,同时通过Log4j记录应用运行日志,确保问题排查和性能监控的有效性。这种技术栈的组合为快速开发...

      springboot+hibernate+gradle+mysql的简单例子

      在实际开发中,你可能还需要设置日志系统(如Logback或Log4j)、安全框架(如Spring Security)以及错误处理机制。通过这个简单的例子,你可以了解如何将这些技术集成到一起,构建一个完整的Web应用。参考链接中的...

      spring Boot 2精髓.rar

      日志管理方面,Spring Boot 2默认集成了Logback和Log4j2,可以根据需要配置不同级别的日志输出。 此外,Spring Boot 2还强化了云原生应用的支持,例如Kubernetes和Docker的集成,使得应用程序能够更好地适应容器化...

      前所未有最新版springmvc5.0.8集成框架完整版! 整合LOG4J2、ORACLE、MYSQL等基础组件。配置已简化,且二次开发更简便!!

      - **日志系统**:LOG4J2是Apache的一个高性能、灵活的日志框架,比老版本LOG4J具有更好的性能和更多的功能。 - **配置灵活性**:使用JSON或XML配置,提供动态日志级别调整,支持异步日志记录,提高应用性能。 - *...

      spring-boot-reference2018最新版

      Spring Boot默认集成了Logback或Log4j2作为日志系统,并提供了简单易用的日志配置。 10. **健康检查与端点** Spring Boot的Actuator模块提供了多个端点,如`health`端点用于检查应用的健康状况,`metrics`端点...

      springboot整合logback保存日志到文件

      Logback是Java平台上的一个强大的日志框架,它被广泛用于替代传统如log4j的日志系统。Spring Boot默认集成了Logback作为日志处理系统,因为它提供高效的日志记录能力并易于配置。本篇将详细介绍如何在Spring Boot...

      Spring Boot 2精髓带书签目录高清版.pdf

      - 集成了Logback和Log4j2,提供灵活的日志配置和输出。 这份高清版PDF文档很可能是书籍的扫描版,包含了详细的章节和书签,便于读者按照目录快速定位到所需的知识点。通过阅读这本书,开发者可以深入了解Spring ...

      jeecg-jeecg-boot-master.zip

      - 日志:Log4j、Logback、SLF4J - 构建工具:Maven或Gradle 四、实战应用 1. 快速开发:Jeecg-Boot适用于快速搭建企业级后台管理系统,如OA办公系统、CRM客户关系管理、ERP企业资源规划等。 2. 微服务架构:通过...

      spring-boot-demo

      日志系统在Spring Boot中也很重要,它默认集成了Logback或Log4j2,我们可以配置日志级别和输出格式,方便调试和问题排查。 此外,Spring Boot还提供了自动配置(Auto Configuration)特性,它会根据类路径下的jar包...

    Global site tag (gtag.js) - Google Analytics