简体   繁体   English

Log4j2:只记录到一个文件,没有控制台?

[英]Log4j2: Logs only to a file, without console?

I'm using log4j2.我正在使用 log4j2。 I have two appenders that write logs to two different files, and this works fine.我有两个将日志写入两个不同文件的 appender,这工作正常。 But these logs also get into the console appender.但是这些日志也会进入控制台 appender。 I want to free the console from logs for files, and so that the rest of the logs get to the console.我想从文件日志中释放控制台,以便其余的日志到达控制台。 How can I do that?我怎样才能做到这一点?

# Declare logger
name=LoggingConfig
appenders=a_console, a_test1, a_test2
loggers=l_project, l_test1, l_test2

# Root logger
rootLogger.level=INFO
rootLogger.appenderRefs=a_console
rootLogger.appenderRef.a_console.ref=STDOUT

# Project logger
logger.l_project.name=re.vianneyfaiv.log4j2
logger.l_project.level=DEBUG
logger.l_project.additivity=false
logger.l_project.appenderRef.a_console.ref=STDOUT

# Console logger
appender.a_console.type=Console
appender.a_console.name=STDOUT
appender.a_console.layout.type=PatternLayout
appender.a_console.layout.pattern=%d{ISO8601} [%t] %-5p (%F\:%L) - %m%n

# File logger - 1
appender.a_test1.type=RollingFile
appender.a_test1.name=FILE1
appender.a_test1.append=false
appender.a_test1.layout.type=PatternLayout
appender.a_test1.layout.pattern=%d{ISO8601} [%t] %-5p (%F\:%L) - %m%n
appender.a_test1.fileName=log4j2-sample-1.log
appender.a_test1.filePattern=log4j2-sample-1-%d{yyyy-MM-dd}.log
appender.a_test1.policies.type=Policies
appender.a_test1.policies.time.type=TimeBasedTriggeringPolicy
appender.a_test1.policies.time.interval=1

logger.l_test1.name=re.vianneyfaiv.log4j2.Log4J2Test1
logger.l_test1.level=ERROR
logger.l_test1.appenderRef.a_test1.ref=FILE1

# File logger - 2
appender.a_test2.type=RollingFile
appender.a_test2.name=FILE2
appender.a_test2.append=false
appender.a_test2.layout.type=PatternLayout
appender.a_test2.layout.pattern=%d{ISO8601} [%t] %-5p (%F\:%L) - %m%n
appender.a_test2.fileName=log4j2-sample-2.log
appender.a_test2.filePattern=log4j2-sample-2-%d{yyyy-MM-dd}.log
appender.a_test2.policies.type=Policies
appender.a_test2.policies.time.type=TimeBasedTriggeringPolicy
appender.a_test2.policies.time.interval=1

logger.l_test2.name=re.vianneyfaiv.log4j2.Log4J2Test2
logger.l_test2.level=INFO
logger.l_test2.appenderRef.a_test2.ref=FILE2

Just remove this console logger portion from properties file只需从属性文件中删除此控制台记录器部分

# Console logger
appender.a_console.type=Console
appender.a_console.name=STDOUT
appender.a_console.layout.type=PatternLayout
appender.a_console.layout.pattern=%d{ISO8601} [%t] %-5p (%F\:%L) - %m%n

I'm add:我补充:

logger.l_test2.additivity=false
logger.l_test2.additivity=false

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM