java - 我的 servlet 中的 log4j 正在登录到 tomcat 根目录

标签 java tomcat servlets log4j apache-axis

我正在编写一个将在 Tomcat(或其他容器)中运行的 servlet,并希望使用 Log4J 从我的 servlet 进行日志记录。但是,我的 RollingFileAppender 正在登录到 Tomcat 根目录 而不是 webapp 根目录。所以 Tomcat_dir/mylog.log 而不是 Tomcat_dir/webapps/MyServlet/mylog.log

这是我的属性文件(我可以看出它正在加载,因为它正确设置了日志文件名):

#logfile is an appender (references log4j.appender.logfile)
log4j.rootLogger=DEBUG, console, logfile
# Logging levels from most logging to least: TRACE, DEBUG, INFO, WARN, ERROR, FATAL

# Setup for console logging
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.Threshold=WARN
log4j.appender.console.layout.ConversionPattern=[%p](%d{dd MMM yyyy HH:mm:ss,SSS}) (%F:%L) - %m%n

#setup for logging to files
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=mylog.log
log4j.appender.logfile.Append=true
log4j.appender.logfile.MaxFileSize=10000KB
log4j.appender.logfile.Threshold=ALL
log4j.appender.logfile.MaxBackupIndex=10
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%p](%d{dd MMM yyyy HH:mm:ss,SSS})(%F:%L) - %m%n

我觉得我遗漏了一些简单的东西,尽管我看到的大多数示例都使用绝对路径或 servlet 上下文(我的代码部分没有)。

编辑:我的 servlet 是使用 Axis2 从 WSDL 生成的服务也可能相关

最佳答案

按照描述使用 ${catalina.base} var here

log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.file=${catalina.base}/logs/localhost.
log4j.appender.LOCALHOST.encoding=UTF-8
log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.conversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.LOCALHOST.append=true

关于java - 我的 servlet 中的 log4j 正在登录到 tomcat 根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5892776/

相关文章:

java - Spring MVC 请求和原型(prototype)范围不起作用

java - 从 Maven 运行 gwt - IntelliJ

java - 如何找到由 native 代码引起的 JVM 崩溃的根本原因

java - 带有jsp的tomcat

java - 如何使用Servlet和Ajax?

java - Android 多媒体服务 - 简单问题

java - 代号一 - 隐藏单个元素的动画删除所有内容

oracle - JDBC 类型 : -9 没有方言映射

java - 在tomcat 6上部署spring应用程序时出现异常

java - 在 Java 中建立的 HTTP 连接因重定向过多而失败?