# logger **Repository Path**: truthbean/logger ## Basic Information - **Project Name**: logger - **Description**: logger adapter - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-02-17 - **Last Updated**: 2025-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # logger logger adapter 项目回归~ ## 日志级别 1. fatal 导致系统崩溃无法运行的错误 2. error 导致数据错误或者丢失,但是系统依然能运行 3. warn 能容忍但是必须被记录下来的错误 4. info 在正常情况下需要被记录的重要信息 5. debug 用于记录方便开发者排查错误及潜在隐患的信息 6. trace 用于跟踪数据的变化 ## maven ```xml com.truthbean.logger logger-dependence 0.5.7-RELEASE import pom com.truthbean.logger truthbean-logger-core 0.5.7-RELEASE com.truthbean.logger logger-to-log4j2 0.5.7-RELEASE 或者使用 com.truthbean.logger logger-to-slf4j 0.5.7-RELEASE 或者在测试的时候使用以下中的一个 com.truthbean.logger jdk-adapter 0.5.7-RELEASE com.truthbean.logger logger-to-jul 0.5.7-RELEASE com.truthbean.logger logger-stdout 0.5.7-RELEASE com.truthbean.logger logger-kotlin 0.5.7-RELEASE 包含依赖的boot com.truthbean.logger log4j2-boot 0.5.7-RELEASE com.truthbean.logger slf4j-boot 0.5.7-RELEASE com.truthbean.logger juli-bridge 0.5.7-RELEASE com.truthbean.logger logger-spring-boot-starter 0.5.7-RELEASE ``` ### log4j2的注意事项 如果使用spring-boot,首先应该排除springboot中自带的logback日志,引入log4j2的日志 ```xml org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-log4j2 ``` 其次在编写的过程中,尽量使用log4j2-api中的接口(log4j2-core是log4j2-api的官方实现,性能比logback、log4j、jul都要高很多),而不是其他门面日志系统(log4j2自身也是门面模式); 同时,日志的message尽量不能相同,不然很难排查问题,失去了日志的原有功能点。 ```java import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; ... private static final Logger LOGGER = LogManager.getLogger(XXXX.class); ``` log4j2.xml配置文件中,不允许显示行号。使用%c或者%c{36}或者%logger或者%logger{36},注意是小写的c,大写的C将使用堆栈快照获取日志的位置信息 `官方文档显示的信息,显示日志调用的位置信息,同步logger将花费1.3到5倍的时间,异步logger将花费30到100倍的时间` https://logging.apache.org/log4j/2.x/manual/layouts.html#LocationInformation ### 注意 JDK要求最低11