log4j关于文件输出的位置
之前做项目一直都是写死一个文件路径,今天尝试去写成活的,下边是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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我尝试在init方法里边用System.setProperties("LOG_DIR", path),然后在log4j的配置文件里边写成${LOG_DIR}/website.log,发现还是把日志给写到根目录了,没有写到我指定的文件夹里边,所以就很郁闷了,我知道可以用taomcat的那些隐藏变量来达到这个配置的目的,今天就是想尝试下代码看怎么弄,结果没成功,不过还是谢谢你了
回复
试试继承 ServletContextListener 接口放到 contextInitialized 方法里呢。
其实不用这么麻烦 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)
http://pan.baidu.com/share/link?shareid=417972&uk=201756560
我把代码传到这了,谁能帮忙看下是什么原因呢