2

在我的项目中,我打算拥有多个日志文件,因此我正在使用这些类别。但不知何故,我也将输出输出到控制台。我尝试了很多选择,但没有成功。我想停止输出到控制台。文件输出不应受到影响。

这是配置。

#********************Common Configuration**********************
LOG_PATH=./logs
LOG_LEVEL_COMMON=DEBUG

#********************Logging Configuration**********************


#Configure logging level for ENGINE_CLIENT
log4j.category.ENGINE_CLIENT_LOG=${LOG_LEVEL_COMMON},ENGINE_CLIENT
log4j.appender.ENGINE_CLIENT=org.apache.log4j.FileAppender
log4j.appender.ENGINE_CLIENT.File=${LOG_PATH}/EngineClient.log
log4j.appender.ENGINE_CLIENT.layout=org.apache.log4j.PatternLayout
log4j.appender.ENGINE_CLIENT.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %-5p %C{8} [%t] - %m%n

这是Java代码...

final static Logger logger = Logger.getLogger("ENGINE_CLIENT");
PropertyConfigurator.configure("./config/default.properties");
4

2 回答 2

0

我已将您的代码复制粘贴到我的本地机器上,包括。你的log4j.properties,但我似乎无法重现这个问题。它只记录到文件而不是控制台。

只是一个机会,但你有没有尝试将additivity你的类别设置在你的log4j.properties. 像这样的东西:

 log4j.additivity.ENGINE_CLIENT_LOG=false

更多信息在这里: http:
//logging.apache.org/log4j/1.2/manual.html#Appenders_and_Layouts

于 2013-07-24T03:40:57.647 回答
0

尝试使用以下方法设置您的根记录器:log4j.rootLogger=${LOG_LEVEL_COMMON}, ENGINE_CLIENT

于 2013-07-24T12:55:21.517 回答