log4j关于文件输出的位置

发布于 2021-11-16 01:29:26 字数 758 浏览 793 评论 4

之前做项目一直都是写死一个文件路径,今天尝试去写成活的,下边是log4j的配置文件

log4j.rootLogger = DEBUG, logOutput, console

# Txt log

log4j.appender.logOutput = org.apache.log4j.RollingFileAppender
log4j.appender.logOutput.file =weblog.log
log4j.appender.logOutput.Append=true
log4j.appender.logOutput.MaxFileSize=1024KB
log4j.appender.logOutput.layout=org.apache.log4j.PatternLayout
log4j.appender.logOutput.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

# Console log
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern = %d{yyyy-MM-dd HH

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瑾夏年华 2021-11-21 14:56:05

我尝试在init方法里边用System.setProperties("LOG_DIR", path),然后在log4j的配置文件里边写成${LOG_DIR}/website.log,发现还是把日志给写到根目录了,没有写到我指定的文件夹里边,所以就很郁闷了,我知道可以用taomcat的那些隐藏变量来达到这个配置的目的,今天就是想尝试下代码看怎么弄,结果没成功,不过还是谢谢你了

水水月牙 2021-11-21 14:46:28

回复
试试继承 ServletContextListener 接口放到 contextInitialized 方法里呢。

南汐寒笙箫 2021-11-21 14:39:52

其实不用这么麻烦 log4j 可以读取system 的property值,比如
log4j.appender.file.File=${catalina.base}/logs/aa.log  可以放到tomcat目录下,catalina.base 是tomcat启动脚本中设置的。

你可以在启动参数中指定某个目录 -Dlog.dir=xxx  就可以引用 ${log.dir}

如果按照你上面想用代码写的话,可以 System.setProperties("xxx", path) 

各自安好 2021-11-16 21:06:52

http://pan.baidu.com/share/link?shareid=417972&uk=201756560

我把代码传到这了,谁能帮忙看下是什么原因呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文