【Java】log4j日志配置

本文介绍了Java中log4j如何按照日期生成日志文件,详细解析了DatePattern的各种配置选项,如按月、周、日和小时等划分。此外,还详细阐述了log4j的日志布局ConversionPattern,包括%d、%p、%r、%t、%l、%c、%M、%F、%L、%m和%n等特殊符号的含义。最后,讨论了如何配置log4j以生成不同业务模块的日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 按照日期生成分割日志文件

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=/logs/log.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

DatePattern的详细配置项:

yyyy-MM:每月
yyyy-ww:每周
yyyy-MM-dd:每天
yyyy-MM-dd-a:每天两次
yyyy-MM-dd-HH:每小时
yyyy-MM-dd-HH-mm:每分钟

log4j.appender.myfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] [%L]- %m%n ,日志的布局方式,%开头的字符意义如下:

%p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。
%d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd HH:mm:ss,SSS}。
%r:输出自应用程序启动到输出该log信息耗费的毫秒数。
%t:输出产生该日志事件的线程名。
%l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
%c:输出日志信息所属的类目,通常就是所在类的全名。
%M:输出产生日志信息的方法名。
%F:输出日志消息产生时所在的文件名称。
%L::输出代码中的行号。
%m::输出代码中指定的具体日志信息。
%n:输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”。
%x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。

2. 生成不同业务模块的日志:

在配置文件中进行配置:

log4j.logger.dbService=INFO,dbService
log4j.appender.dbService=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dbService.File = /logs/dbService/dbService.log
log4j.appender.dbService.DatePattern='.'yyyy-MM-dd
log4j.appender.dbService.layout=org.apache.log4j.PatternLayout
log4j.appender.dbService.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

在程序中引用:

public class CustomerService {
    private Logger logger = Logger.getLogger("dbService");

    public List<Customer> getCustomer() {
        logger.info("从数据库获取客户信息" );
        return customerList;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值