Java 我的servlet中的log4j正在记录到tomcat根目录
我正在编写一个将在Tomcat(或其他容器)中运行的servlet,并希望使用Log4J从我的servlet进行日志记录。但是,我的RollingFileAppender正在登录到Tomcat根目录,而不是webapp根目录。所以Java 我的servlet中的log4j正在记录到tomcat根目录,java,tomcat,servlets,log4j,axis2,Java,Tomcat,Servlets,Log4j,Axis2,我正在编写一个将在Tomcat(或其他容器)中运行的servlet,并希望使用Log4J从我的servlet进行日志记录。但是,我的RollingFileAppender正在登录到Tomcat根目录,而不是webapp根目录。所以Tomcat_dir/mylog.log而不是Tomcat_dir/webapps/MyServlet/mylog.log 这是我的属性文件(我可以看出它正在加载,因为它正确设置了日志文件名): 我觉得我缺少了一些简单的东西,尽管我看到的大多数示例都使用了绝对路径或se
Tomcat_dir/mylog.log
而不是Tomcat_dir/webapps/MyServlet/mylog.log
这是我的属性文件(我可以看出它正在加载,因为它正确设置了日志文件名):
我觉得我缺少了一些简单的东西,尽管我看到的大多数示例都使用了绝对路径或servlet上下文(在我的代码部分中没有)
编辑:我的servlet是一个使用Axis2从WSDL生成的服务,这可能与此有关。您是否完全确定应用程序已加载并使用此配置文件?也许您的servlet使用tomcats配置文件
若要仔细检查,请在转换模式中添加一个重大更改,并验证您的消息是否使用该模式记录。您是否绝对确定应用程序已加载并使用此配置文件?也许您的servlet使用tomcats配置文件
要进行双重检查,请向转换模式添加一个重大更改,并验证您的消息是否使用该模式记录。使用
${catalina.base}
变量,如前所述
如前所述,使用
${catalina.base}
变量
是的,我已经将字符串JAX添加到我的转换模式中,现在我得到这样的日志:
[INFO](2011年5月5日09:27:30730)(?:?)JAX----记录器初始化---
是的,我已经将字符串JAX添加到我的转换模式中,现在我得到这样的日志:[INFO](2011年5月5日09:27:30730)(?:?)JAX----记录器初始化---
这对我不起作用。它只是忽略文件路径的${catalina.base}部分。这可能是因为我的servlet实际上是使用Axis从WSDL生成的。这对我来说不起作用。它只是忽略文件路径的${catalina.base}部分。这可能是因为我的servlet实际上是使用Axis从WSDL生成的。
#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
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