log4j配置文件(入门了解)

发布时间 2023-11-20 14:46:12作者: 于上山之明月

✨前言✨
本篇文章主要在于,log4j的配置,以及常用配置说明

?欢迎点赞 ? 收藏 ⭐留言评论 ?私信必回哟?
?博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言


@

?一,log4j配置

1,添加配置文件

  log4j常用的配置文件有两种:

log4j.xml
log4j.properties​​​

这里不会配置的,点击以下来了解,观看配置教程:

https://blog.csdn.net/sjs52406/article/details/134472475?spm=1001.2014.3001.5502

2,使用log4j打印日志

package com.chenlongji.log4jstudy.controller;
 
import org.apache.log4j.Logger;
 
/**
 * @author clj
 */
public class LogTest {
    private static Logger logger = Logger.getLogger(LogTest.class);
 
    public static void main(String[] args) {
        // 注: 部分打印不出来, 那就是配置的日志级别太高
        logger.debug("这是debug级别的日志");
        logger.info("这是info级别的日志");
        logger.warn("这是warn级别的日志");
        logger.error("这是error级别的日志");
    }
}

?二,常用配置示例

这里仅展示最常用的一些属性配置

#是否打印log4j框架内的日志, 默认值为false
log4j.debug=false
 
# 配置根logger, 格式: [level],appenderName1,appenderName2,…
log4j.rootLogger=warn,console,errorDailyFile
 
# 配置自定义的logger, 格式: log4j.logger.[关注项目的包路径]
log4j.logger.com.chenlongji=info,console,infoRollingFile
# 打印时是否添加父类logger
log4j.additivity.com.chenlongji=false
 
#################
# 输出到控制台
#################
#console 控制台输出源
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 输出日志的格式(布局)实现类
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# 输出日志的具体格式
log4j.appender.console.layout.conversionPattern=%d [%t] %-5p [%c\:%L] %m%n
# 输出日志的级别 不填则认为是ALL级别
log4j.appender.console.threshold=info
 
#################
# 输出到文件(RollingFileAppender类型)
#################
# 滚动文件输出源, 文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.infoRollingFile=org.apache.log4j.RollingFileAppender
# 输出文件的路径 例如:./src/logs/clj2023.log
log4j.appender.infoRollingFile.file=D://logs/info.log
# 文件最大容量(到达后创建新的文件), 默认值为10MB. 这里后缀可以为KB,MB,GB
log4j.appender.infoRollingFile.maxFileSize=500MB
# 输出日志的格式(布局)实现类. 注: layout必须是小写
log4j.appender.infoRollingFile.layout=org.apache.log4j.PatternLayout
# 输出日志的具体格式
log4j.appender.infoRollingFile.layout.conversionPattern=%d [%t] %-5p [%c\:%L] %m%n
# 输出日志的级别 不填则理解为ALL级别
log4j.appender.infoRollingFile.threshold=info
 
#################
# 输出到文件(DailyRollingFileAppender类型)
#################
# 按天滚动生成日志文件输出源
log4j.appender.errorDailyFile=org.apache.log4j.DailyRollingFileAppender
# 输出文件的路径 例如:./src/logs/error.log
log4j.appender.errorDailyFile.file=D://logs/error.log
# 输出日志的格式(布局)实现类
log4j.appender.errorDailyFile.layout=org.apache.log4j.PatternLayout
# 输出日志的具体格式
log4j.appender.errorDailyFile.layout.conversionPattern=%d [%t] %-5p [%c\:%L] %m%n
# 最小分隔为分钟, 设置小于分钟也是按分钟滚动生成文件
log4j.appender.errorDailyFile.datePattern='.'yyyy-MM-dd'.log'
# 输出日志的级别 不填则理解为ALL级别
log4j.appender.errorDailyFile.threshold=warn

?三,配置说明

配置文件主要部分就三个

配置根logger 和 自定义logger
配置日志输出地appender
配置日志输出地的输出格式

需要了解的知识点

 log4j支持的日志级别为(从高到低), 常用ERROR, WARN, INFO, DEBUG
  级别    level值
 OFF    (2147483647)
 FATAL   (50000)
 ERROR   (40000)
 WARN   (30000)
 INFO    (20000)
 DEBUG   (10000)
 TRACE   (5000)
 ALL    (-2147483648)

注:
  本文章log4j配置文件中的key的单词首字母都使用小写, 虽然log4j会将大写首字母转换, 但log4j部分单词是写死的(如layout是写死小写的).
  全单词首字母小写示例: log4j.appender.console.threshold


✨最后✨

?总结不易,希望uu们不要吝啬你们的?哟(^U^)ノ~YO!!
?如有问题,欢迎评论区批评指正?