如何在Tomcat中配置另一个log4j配置文件?

时间:2014-08-26 03:42:30

标签: java eclipse logging log4j

我正在使用log4j1.2,我是log4j的新手。

我希望当我在本地计算机上调试时,日志将打印到控制台。 但是当它在PROD中运行时,它只是记录到文件,因为我希望有最少的开销。

我希望我可以实现这一点(只在本地机器上打印到控制台而不是prod env),而不是每次部署时都修改属性文件。

以下是我的log4j.properties的样子:

log4j.rootLogger=DEBUG,BAE,console,error


##################production logs###############
log4j.appender.BAE=org.apache.log4j.FileAppender
log4j.appender.BAE.encoding=utf-8
log4j.appender.BAE.Append=true
log4j.appender.BAE.Threshold=INFO
log4j.appender.BAE.layout=org.apache.log4j.SimpleLayout


####################Conole logs####################
##(hope only enable when debuging in local machine)
log4j.appender.console= org.apache.log4j.ConsoleAppender
log4j.appender.console.encoding=utf-8
## DEBUG logs
log4j.appender.console.Threshold = Trace 
log4j.appender.console.layout=org.apache.log4j.SimpleLayout


##################error logs##########################
log4j.appender.error=org.apache.log4j.FileAppender
log4j.appender.error.File=/home/bae/log/error.log 
log4j.appender.error.Threshold = ERROR  
log4j.appender.error.Append=true
log4j.appender.error.layout=org.apache.log4j.SimpleLayout

4 个答案:

答案 0 :(得分:5)

您可以在eclipse中配置环境中的另一个log4j配置文件:

  • 首先,在eclipse(服务器选项卡)中找到您的Tomcat服务器,然后双击:

Servers

  • 接下来,点击打开lauch配置

Tomcat configuration

  • 在Tomcat中添加log4j配置参数并应用。

JVM arguments

享受!


Apache log4j 1.2 - Short introduction to log4j

中查看更多内容

答案 1 :(得分:1)

如果您的路径中没有log4j文件,则需要添加以下内容:

-Dlog4j.configuration="file:///C:/<path>/<nameifLog4jFile>"

另外,如果在log4j文件中使用环境变量,则需要在参数中声明它。我有一个名为MAS_HOME的env var,用于指定日志文件的路径。然后我必须将此参数添加到VM args:

-DMAS_HOME="c:\EE"

答案 2 :(得分:0)

我想把它作为评论,但没有足够的声誉:P

如果您使用Maven,

This可能会有所帮助 另请参阅this question以获取其他解决方案。

答案 3 :(得分:0)

你可以使用jvm param(Brian Agnew回答:log4j configuration via JVM argument(s)?):

  

你有log4j配置文件吗?只需使用

引用它
-Dlog4j.configuration={path to file}
     

其中{path of file}应以file:

作为前缀