springboot开启log4j2中的异步日志输出-全模式

在这里插入图片描述

1、引入maven依赖

<dependency>
  <groupId>com.lmax</groupId>
  <artifactId>disruptor</artifactId>
  <version>3.4.2</version>
</dependency>

2、修改启动类或修改启动项目脚本

有两种方法,博主使用的是第一种,直接修改项目里面的启动类,是可行的,另外一种因时间原因暂未试验过,保持观望态度,有兴趣者可尝试下。

2.1 修改启动类

 
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
		//下面语句使得日志输出使用异步处理,减小输出日志对性能的影响
        System.setProperty("Log4jContextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
        SpringApplication.run(TestApplication.class, args);
    }
}

2.2 修改启动项目脚本

java -jar -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector xxx.jar

上面二取一,就完成,如何来验证是否异步成功呢?
博主是使用IDEA DEBUG模式启动项目,在IDEA最下面找到Debug那一栏,然后在Debugger中选中Threads,这里能查看启动后的线程名称,找到Log4j2开头即可。

在这里插入图片描述

就先说到这 \color{#008B8B}{ 就先说到这} 就先说到这
在下 A p o l l o \color{#008B8B}{在下Apollo} 在下Apollo
一个爱分享 J a v a 、生活的小人物, \color{#008B8B}{一个爱分享Java、生活的小人物,} 一个爱分享Java、生活的小人物,
咱们来日方长,有缘江湖再见,告辞! \color{#008B8B}{咱们来日方长,有缘江湖再见,告辞!} 咱们来日方长,有缘江湖再见,告辞!
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是Spring Boot集成log4j2输出日志文件的步骤: 1. 在pom.xml文件添加log4j2的依赖 ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 2. 在src/main/resources目录下创建log4j2.xml文件,并配置输出文件的路径、格式等信息。以下是一个示例配置文件: ``` <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <RollingFile name="RollingFile" fileName="logs/log4j2.log" filePattern="logs/log4j2-%d{yyyy-MM-dd}-%i.log"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10MB"/> </Policies> <DefaultRolloverStrategy max="10"/> </RollingFile> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> <AppenderRef ref="RollingFile"/> </Root> </Loggers> </Configuration> ``` 3. 在Spring Boot的启动类添加注解@EnableAsync和@ImportResource,开启异步调用和导入log4j2.xml配置文件。 ``` @SpringBootApplication @EnableAsync @ImportResource(locations = {"classpath:log4j2.xml"}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 4. 在需要输出日志的类,使用log4j2日志记录器进行日志输出。以下是一个示例: ``` import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class SampleClass { private static final Logger logger = LogManager.getLogger(SampleClass.class); public void doSomething() { logger.info("This is a sample log message."); } } ``` 这样就完成了Spring Boot集成log4j2输出日志文件的配置。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值