log4j不同业务逻辑输出到不同的log文件

http://www.shanhh.com/?p=33 动态
http://shuaigg-babysky.iteye.com/blog/543999 静态


Log4J 在系统运行时更改log4j的配置

http://blog.sina.com.cn/s/blog_4b81125f0100fo95.htmlhaiyao
摘要:
但是我们还不能确定log4j系统正在运行时,再次调用configure(String configFilename)方法,会不会对系统运行的产生其他的影响?当查看log4j源码后这个问题被解决了。因为 PropertyConfigurator的 configureAndWatch(String configFileName, long delay)方法就是启动一个线程并在这个线程中反复的实例化一个PropertyConfigurator对象,并调用他的 doConfigure(String configFileName, LoggerRepository hierarchy)方法,而PropertyConfigurator对象的configure(String configFilename)也是实例化一个PropertyConfigurator对象,并调用他的doConfigure(String configFileName, LoggerRepository hierarchy)方法。所以可以确定在log4j运行时调用configure(String configFilename)方法是不会对系统造成什么不良影响的,除非log4j本身就存在问题。

多线程环境下使用log4j输出各线程的标识,区分各线程输出的内容
http://blog.csdn.net/benq998/article/details/4033334

log4j输出多个自定义日志文件,动态配置路径
http://blog.csdn.net/wiwipetter/article/details/4390579
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过配置log4j2.properties文件来根据不同日志等级输出不同文件中。具体的配置方法如下: 1. 首先在log4j2.properties文件中定义需要输出logger名称和日志级别,例如: ``` # 输出INFO级别及以上日志到info.log文件logger.info.name=infoLogger logger.info.level=info logger.info.appenderRef.info.ref=infoFile # 输出ERROR级别及以上日志到error.log文件logger.error.name=errorLogger logger.error.level=error logger.error.appenderRef.error.ref=errorFile ``` 2. 然后定义需要输出的appender,例如: ``` # 输出INFO级别及以上日志到info.log文件中 appender.infoFile.type = RollingFile appender.infoFile.name = infoFile appender.infoFile.fileName = logs/info.log appender.infoFile.filePattern = logs/$${date:yyyy-MM}/info-%d{MM-dd-yyyy}-%i.log.gz appender.infoFile.layout.type = PatternLayout appender.infoFile.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n appender.infoFile.policies.type = Policies appender.infoFile.policies.time.type = TimeBasedTriggeringPolicy appender.infoFile.policies.time.interval = 1 appender.infoFile.policies.time.modulate = true appender.infoFile.policies.size.type = SizeBasedTriggeringPolicy appender.infoFile.policies.size.size = 10MB appender.infoFile.strategy.type = DefaultRolloverStrategy appender.infoFile.strategy.max = 20 ``` ``` # 输出ERROR级别及以上日志到error.log文件中 appender.errorFile.type = RollingFile appender.errorFile.name = errorFile appender.errorFile.fileName = logs/error.log appender.errorFile.filePattern = logs/$${date:yyyy-MM}/error-%d{MM-dd-yyyy}-%i.log.gz appender.errorFile.layout.type = PatternLayout appender.errorFile.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n appender.errorFile.policies.type = Policies appender.errorFile.policies.time.type = TimeBasedTriggeringPolicy appender.errorFile.policies.time.interval = 1 appender.errorFile.policies.time.modulate = true appender.errorFile.policies.size.type = SizeBasedTriggeringPolicy appender.errorFile.policies.size.size = 10MB appender.errorFile.strategy.type = DefaultRolloverStrategy appender.errorFile.strategy.max = 20 ``` 以上配置中,分别定义了两个RollingFile类型的appender,分别输出到info.log和error.log文件中,每天生成一个新的日志文件,最多保留20个日志文件,每个日志文件最大为10MB。 3. 最后需要将logger和appender进行关联,例如: ``` # 将infoLogger关联到infoFile appender logger.info.additivity = false logger.info.appenderRef.info.ref = infoFile # 将errorLogger关联到errorFile appender logger.error.additivity = false logger.error.appenderRef.error.ref = errorFile ``` 以上配置中,将infoLogger和errorLogger分别关联到infoFile和errorFile appender中。 通过以上配置,就可以实现根据不同日志等级输出不同文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值