当前位置:  开发笔记 > 编程语言 > 正文

log4j相对文件路径

如何解决《log4j相对文件路径》经验,为你挑选了2个好方法。

我希望我的网络应用程序使用此路径登录文件:webapp/logs /

我可以在log4j.properties文件中设置绝对路径,但生产环境的目录结构会有所不同.有什么办法可以吗?

我是这样做的:

log4j.appender.f=org.apache.log4j.RollingFileAppender
log4j.appender.f.layout=org.apache.log4j.PatternLayout
log4j.appender.f.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.f.File=log.out
log4j.appender.f.MaxFileSize=100KB

这是将日志打印到我的eclipse目录(c:// eclipse)中名为log.log的文件中.我正在使用Tomcat 6.



1> matt b..:

log4j能够扩展系统属性,因此,如果生产环境为要放置日志文件的目录设置属性,则可以从log4j.properties文件中引用它.

例如,我们也在Tomcat上部署webapps.Tomcat设置一个名为的系统属性catalina.base,该属性指向Tomcat基目录.log4j配置如下所示:

 log4j.appender.f.File = ${catalina.base}/logs/myapp.log

将导致myapp.log文件存储在Tomcat安装目录下的logs目录中.


在Debian(包括Ubuntu)上,$ {catalina.home}让你无处可去,因为它指向/ usr/share/tomcat6,它没有链接到/ var/log/tomcat6.您的日志文件将不会被创建.$ {catalina.base}指向/ var/lib/tomcat6,它有一个名为logs的链接到/ var/log/tomcat6并且是要使用的链接.希望这有助于某人.

2> despot..:

最好提供:
log4j.appender.f.File =./ myapp.log

.表示当前文件夹(通常是项目根文件夹).这也适用于不同的操作系统.如果您使用$ {catalina.home},您可能无法通过tomcat运行Web应用程序.

这篇文章帮助我解决了这个问题:
http://www.matjazcerkvenik.si/Site/Java :: Log4j_Properties.html(更新链接http://www.matjazcerkvenik.si/developer/java-log4j.php)

干杯!


它不是默认的当前文件夹吗?(即,在路径前加上"./"会没有区别)
推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有