log4j根据业务分出多个日志文件

很多时候,我们不同的业务日志要打印到不同的日志文件,比如我们一种日志是 数据库同步到数据仓库日志(db2dw) ,一种日志是 数据清洗日志(washdata) ,要分成2个不同日志文件进行记录看,具体的做法如下:

  • 1 在类里面确定好不同业务对应的日志名称,代码如下,这里就是刚刚说的不同的两种业务
Logger logger = Logger.getLogger("**db2dw**")
Logger logger = Logger.getLogger("**washdata**")
  • 2 log4j里面也同时定义好这2种业务的日志名称

如果是log4j.properties这样配置:

log4j.logger.db2dw=info,db2dwFile
log4j.logger.washdata=info,washDataFile

如果是spring的logback-spring.xml这样配置:

<logger name="db2dw" level="INFO">
    <appender-ref ref="db2dwFile"/>
</logger>
<logger name="washdata" level="INFO">
    <appender-ref ref="washDataFile"/>
</logger>
  • 3.接下来就是配置对应的appender,即db2dwFile和washDataFile这2个appender,这里以db2dwFile为例

如果是log4j.properties这样配置:

log4j.appender.db2dwFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.db2dwFile.File=./logs/db2dw.log
log4j.appender.db2dwFile.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.db2dwFile.Append = true
log4j.appender.db2dwFile.layout=org.apache.log4j.PatternLayout
log4j.appender.db2dwFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} %m%n

如果是spring的logback-spring.xml这样配置:

<appender name="db2dwFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
  <encoder> 
    <pattern>%m%n</pattern> 
  </encoder>  
  <file>./logs/db2dw.log</file>  
  <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
    <fileNamePattern>./logs/db2dw.log.%i</fileNamePattern> 
  </rollingPolicy>  
  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
    <MaxFileSize>100MB</MaxFileSize> 
  </triggeringPolicy> 
</appender>
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
log4j 是 Java 编程语言中一种常用的日志管理工具,用于记录应用程序在运行过程中的各种信息,包括错误日志、调试信息等等。在开发中,通常会涉及到多个业务文件,而log4j 可以很好地支持这种情况。 对于多个业务文件的情况,我们可以通过配置 log4j 的 properties 文件来实现。在 properties 文件中,我们可以分别指定每个业务文件的名称、格式、输出路径等等属性。例如,我们可以为每个业务文件指定一个独立的 appender,设置对应的文件名和路径,以及输出日志的格式。 此外,我们还可以设置每个业务文件的级别(如 debug、info、warn 等),这样可以根据业务的紧急性和重要性,灵活地控制需要输出的日志的详细程度。 对于不同的业务文件,我们可以通过 Logger.getLogger("loggerName") 来获取相应的 Logger 对象。通过这个 Logger 对象,我们可以调用相应的方法来输出日志信息。例如,可以使用 logger.info("message") 输出一条 info 级别的日志信息。 通过合理配置 log4j,我们可以很方便地实现多个业务文件日志管理。这样不仅可以使日志信息更加清晰可读,还可以便于后续的日志分析和问题定位。同时,使用 log4j 还可以提供一定的运行时性能优化,以减少日志输出对系统性能的影响。 总结来说,log4j 可以很好地支持多个业务文件日志管理,我们可以通过合理配置 properties 文件,并使用相应的 Logger 对象来输出日志信息。这样可以使日志管理更加灵活、清晰,并方便后续的日志分析与问题定位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值