Java程序(非web)slf4j整合Log4j2

一、依赖包准备

//slf4j项目提供
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
//log4j2项目提供
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.8.2'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.8.2'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.8.2'


二、使用slf4j

protected static Logger logger = LoggerFactory.getLogger(YourClass.class);

注意import类的选择

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


三、初始化log4j2

1. 方式一 默认路径

将log4j2.xml放到src目录下,Log4j2默认会去该位置读取。

2. 方式二 指定路径

       LoggerContext logContext = (LoggerContext) LogManager.getContext(false);
       File conFile = new File("conf/log4j2.xml");
       logContext.setConfigLocation(conFile.toURI());
       logContext.reconfigure();
       logger.debug("hello world...{}","How are you");

此处import类的选择

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.LoggerContext;

 

至此,全部配置好了。运行一下试试吧。

在Spring Boot中,我们可以很方便地整合SLF4J(Simple Logging Facade for Java)来进行日志记录。SLF4J是一个日志门面,它提供了一套简单的API,用于在代码中进行日志记录,并且可以与不同的日志实现(如Logback、Log4j、Java Util Logging等)进行无缝集成。下面是整合SLF4J的步骤: 1. 首先,在pom.xml文件中添加以下依赖项,以引入SLF4Jlogback-classic(作为默认的日志实现): ```xml <dependencies> ... <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> ... </dependencies> ``` 2. 在application.properties或application.yml文件中配置日志级别和输出格式。例如,以下是一个application.properties文件的示例配置: ```properties # 设置日志级别为INFO logging.level.root=INFO # 控制台输出格式 logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n ``` 3. 在代码中使用SLF4J进行日志记录。你可以通过在类中声明一个Logger对象,并使用它来记录日志。例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Controller public class MyController { private static final Logger logger = LoggerFactory.getLogger(MyController.class); @RequestMapping("/") public String home() { logger.info("访问了home页面"); return "home"; } } ``` 这样,当应用程序运行时,日志会被记录到控制台中。 以上就是整合SLF4J的基本步骤。你可以根据需要自定义配置,例如将日志输出到文件、集成其他的日志实现等。希望对你有所帮助!如果你还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值