在我的项目中,我打算拥有多个日志文件,因此我使用的是类别。但不知怎的,我也得到输出到控制台。我尝试了很多选择但没有成功。 我想停止输出到控制台。文件输出不应受到影响。
这是配置。
#********************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");
答案 0 :(得分:0)
我已将您的代码复制粘贴到我的本地计算机上。你的log4j.properties
,但我似乎无法重现这个问题。它只记录到文件而不是控制台。
只是偶然,但您是否尝试在additivity
内设置类别的log4j.properties
。像这样:
log4j.additivity.ENGINE_CLIENT_LOG=false
此处有更多信息:
http://logging.apache.org/log4j/1.2/manual.html#Appenders_and_Layouts
答案 1 :(得分:0)
尝试使用:log4j.rootLogger=${LOG_LEVEL_COMMON}, ENGINE_CLIENT