使用Log4j的多个文件[英] Multiple files with Log4j

本文是小编为大家收集整理的关于使用Log4j的多个文件的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我正在使用 log4j 记录一些信息.我想将这些信息分成多个文件.

我的配置文件是这样的:

      #logger_1
            log4j.logger.logger_1=debug, logger_1_File
            log4j.appender.logger_1_File=org.apache.log4j.RollingFileAppender
            log4j.appender.logger_1_File.layout=org.apache.log4j.PatternLayout
            log4j.appender.logger_1_File.layout.ConversionPattern=%d{ABSOLUTE} %m%n
            log4j.appender.logger_1_File.File=${webinf}/logs/logger1/logger1.log
            log4j.appender.logger_1_File.MaxFileSize=5000KB
            log4j.appender.logger_1_File.MaxBackupIndex=200
            log4j.appender.logger_1_File.encoding=UTF-8

        #logger_2
            log4j.logger.logger_2=debug, logger_2_File
            log4j.appender.logger_2_File=org.apache.log4j.RollingFileAppender
            log4j.appender.logger_2_File.layout=org.apache.log4j.PatternLayout
            log4j.appender.logger_2_File.layout.ConversionPattern=%d{ABSOLUTE} %m%n
            log4j.appender.logger_2_File.File=${webinf}/logs/logger2/logger2.log
            log4j.appender.logger_2_File.MaxFileSize=5000KB
            log4j.appender.logger_2_File.MaxBackupIndex=200
            log4j.appender.logger_2_File.encoding=UTF-8

...

我有两个问题:

  1. 有什么办法可以缩写吗这个(省略重复的/样板代码)?我必须重复很多当我使用几个附加程序时行.
  2. 是有任何性能问题它?这个配置意味着 log4j 持有几个要写入的资源文件.可以导致性能问题?一世有 9 个这样的附加程序,所以我担心它.

推荐答案

首先,使用单个 appender、多个 appender、不同日志级别来衡量应用的性能.如果遇到性能问题,需要解决,否则无需担心.

另请阅读log4j 简短介绍末尾的"性能"部分/a>.

本文地址:https://www.itbaoku.cn/post/1575078.html

问题描述

I'm using log4j to log several informations. I'd like to separate these infos into multiple files.

My configuration file is similar to this:

      #logger_1
            log4j.logger.logger_1=debug, logger_1_File
            log4j.appender.logger_1_File=org.apache.log4j.RollingFileAppender
            log4j.appender.logger_1_File.layout=org.apache.log4j.PatternLayout
            log4j.appender.logger_1_File.layout.ConversionPattern=%d{ABSOLUTE} %m%n
            log4j.appender.logger_1_File.File=${webinf}/logs/logger1/logger1.log
            log4j.appender.logger_1_File.MaxFileSize=5000KB
            log4j.appender.logger_1_File.MaxBackupIndex=200
            log4j.appender.logger_1_File.encoding=UTF-8

        #logger_2
            log4j.logger.logger_2=debug, logger_2_File
            log4j.appender.logger_2_File=org.apache.log4j.RollingFileAppender
            log4j.appender.logger_2_File.layout=org.apache.log4j.PatternLayout
            log4j.appender.logger_2_File.layout.ConversionPattern=%d{ABSOLUTE} %m%n
            log4j.appender.logger_2_File.File=${webinf}/logs/logger2/logger2.log
            log4j.appender.logger_2_File.MaxFileSize=5000KB
            log4j.appender.logger_2_File.MaxBackupIndex=200
            log4j.appender.logger_2_File.encoding=UTF-8

...

I have two questions about it:

  1. Is there any way I could abbreviate this (omit the repeated/boilerplate code)? I have to repeat a lot of line when I use several appenders.
  2. Is there any performance problem with it? This config means log4j holds several resources to write into files. Does it cause performance problems? I have 9 appenders like these so I'm worried about it.

推荐答案

First of all, measure the performance of your app with a single appender, with many appenders, with different log levels. If you have a performance issue, you need to solve it, otherwise no need to worry about it.

Also read the "Performance" section at the end of the Short introduction to log4j.