我正在使用 .property 文件在特定路径中创建日志文件,但我正在使用它创建单个文件。以下是我的属性文件代码:
status = error
dest = err
name = PropertiesConfig
property.filepath= /ap
property.filename =${filepath}/ai.log
property.filename1 =${filepath}/file1.log
property.filename2 =${filepath}/file2.log
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.file.type = RollingFile
appender.file.name = RootFile1
appender.file.fileName = ${filename}
appender.file.filePattern = ${filepath}/%d{yyyyMMdd}/cpl.mw.%d{yyyyMMdd}.%i.log.gz
appender.file.layout.type = PatternLayout
#appender.file.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.file.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.file.policies.type = Policies
appender.file.policies.time.type = TimeBasedTriggeringPolicy
appender.file.policies.time.interval = 1
appender.file.policies.time.modulate = true
appender.file.policies.size.type = SizeBasedTriggeringPolicy
appender.file.policies.size.size=50MB
appender.file.strategy.type = DefaultRolloverStrategy
appender.file.strategy.max = 20
appender.rolling1.type = RollingFile
appender.rolling1.name = RollingFile1
appender.rolling1.fileName = ${filename1}
appender.rolling1.filePattern = ${filepath}/%d{yyyyMMdd}/cpl.mw.%d{yyyyMMdd}.%i.log.gz
appender.rolling1.layout.type = PatternLayout
#appender.rolling1.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.rolling1.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling1.policies.type = Policies
appender.rolling1.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling1.policies.time.interval = 1
appender.rolling1.policies.time.modulate = true
appender.rolling1.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling1.policies.size.size=50MB
appender.rolling1.strategy.type = DefaultRolloverStrategy
appender.rolling1.strategy.max = 20
appender.rolling2.type = RollingFile
appender.rolling2.name = RollingFile2
appender.rolling2.fileName = ${filename2}
appender.rolling2.filePattern = ${filepath}/%d{yyyyMMdd}/cpl.mw.%d{yyyyMMdd}.%i.log.gz
appender.rolling2.layout.type = PatternLayout
appender.rolling2.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling2.policies.type = Policies
appender.rolling2.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling2.policies.time.interval = 1
appender.rolling2.policies.time.modulate = true
appender.rolling2.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling2.policies.size.size=50MB
appender.rolling2.strategy.type = DefaultRolloverStrategy
appender.rolling2.strategy.max = 20
loggers
logger.name=file1
logger.level = debug
logger.additivity = true
logger.appenderRefs = rolling1,stdout
logger.appenderRefs.level = debug
logger.appenderRef.rolling1.ref = RollingFile1
logger.appenderRef.stdout.ref = STDOUT
logger.name=file2
logger.level = debug
logger.additivity = true
logger.appenderRefs = rolling2
logger.appenderRefs.level = debug
logger.appenderRef.rolling2.ref = RollingFile2
Run Code Online (Sandbox Code Playgroud)
上面的代码是我的 xyz.properties 文件,我想使用这个配置文件创建多个日志。我的属性配置文件创建多个文件,但不将不同的日志放入日志文件中。我使用下面的代码从 JAVA 调用它:
private static final Logger logCommon = LogManager.getLogger("file1");
private static final Logger logAnalytics = LogManager.getLogger("file2");
public static void main(String[] args) throws Exception {
logCommon.info ("file1 Need it save into commons.log file");
logAnalytics.info ("file2 Only save into analytics.log file");
}
Run Code Online (Sandbox Code Playgroud)
2018-01-22 12:52:23 INFO file2:301 - file2 Only save into analytics.log filelog 放入两个日志文件中。
我参考以下链接:
如何使用log4j2(xml中的MDC)将不同的日志写入不同的文件中?
http://logging.apache.org/log4j/2.x/manual/extending.html
我参考以下链接但没有得到任何解决方案:
log4j2 - 在 weblogic 中生成应用程序特定的日志文件
.properties 文件的 log4j2 KeyValuePair
在 log4j2 中增加 OnStartupTriggeringPolicy 的文件索引
如何以 log4j2 xml 格式配置当前工作目标目录的日志文件路径
如何在 log4j2 xml 中配置 RestTemplate 调试日志记录
无法使用 log4j2 中的路由附加程序基于 ThreadContext 映射值创建多个日志文件
请additivity=false为两个命名记录器进行设置。
另外,添加根记录器配置来告诉 Log4j2 除了 \xe2\x80\x9cfile1\xe2\x80\x9d 和 \xe2\x80\x9cfile2\xe2\x80\x9d 记录器之外将日志记录调用发送到哪里:
\n\nrootLogger.level = info\nrootLogger.appenderRef.stdout.ref = STDOUT\nRun Code Online (Sandbox Code Playgroud)\n\n另外,为您的命名记录器指定一个唯一的前缀:
\n\nlogger.aaa.name = file1\nlogger.aaa.additivity = false\nlogger.aaa.level = debug\nlogger.aaa.appenderRef.rrr.ref = RollingFile1\n\nlogger.bbb.name = file2\nlogger.bbb.additivity = false\nlogger.bbb.level = debug\nlogger.bbb.appenderRef.sss.ref = RollingFile2\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
20367 次 |
| 最近记录: |