问题描述
我正在使用 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 ...
我有两个问题:
- 有什么办法可以缩写吗这个(省略重复的/样板代码)?我必须重复很多当我使用几个附加程序时行.
- 是有任何性能问题它?这个配置意味着 log4j 持有几个要写入的资源文件.可以导致性能问题?一世有 9 个这样的附加程序,所以我担心它.
推荐答案
首先,使用单个 appender、多个 appender、不同日志级别来衡量应用的性能.如果遇到性能问题,需要解决,否则无需担心.
问题描述
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:
- 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.
- 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.
相关标签/搜索