log4j2的简单应用
这里只说明一下log4j2的简单配置和应用,类似“hello world”范例。
首先,需要在pom.xml中配置log4j2的依赖dependency:
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.11.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.11.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.11.1</version> </dependency>
log4j2和之前的的1.x版本有一个明显的不同,其配置文件只能采用.xml, .json或者 .jsn。而1.x版本很多都是用properties文件的,所以这里需要注意下。
下面是一个完整的xml格式的配置文件,定义了appenders,loggers,以及输出的pattern。更多配置项请查看官网。xml文件命名为log4j2.xml,放置在项目目录下:
src/main/resources/log4j2.xml 或者是
src/test/resources/log4j2.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- 设置log4j2的自身log级别为warn --> <!-- OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <configuration status="WARN" monitorInterval="30"> <appenders> <console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/> </console> <File name="LogFile" fileName="src/test/resources/log.txt"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> </File> </appenders> <Loggers> <Logger name="fileLog" level="info" additivity="true"> <AppenderRef ref="LogFile" /> </Logger> <Root level="info"> <AppenderRef ref="Console" /> </Root> </Loggers> </configuration>
在需要日志输入的java类文件中,声明Logger对象,注意import的是
1 2 | import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; |
千万别import成java util类库的logger
1 | java.util.logging.Logger |
声明并使用:
1 2 3 | public static final Logger logger = LogManager.getLogger(XXX. class ); logger.info( "this is a log" ); |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥