2011-03-01 47 views
2

因此,我设置了log4j配置并将其输出到控制台就好了。但我现在需要它输出到文件。我在Eclipse Galileo中使用Axis2。 我编辑默认的log4j.properties文件到这一点:Web服务和Log4J输出到文件

Set root category priority to INFO and its only appender to CONSOLE. 
log4j.rootCategory=INFO, CONSOLE 
log4j.rootCategory=INFO, CONSOLE, LOGFILE 

Set the enterprise logger priority to FATAL 
log4j.logger.org.apache.axis2.enterprise=FATAL 
log4j.logger.de.hunsicker.jalopy.io=FATAL 
log4j.logger.httpclient.wire.header=FATAL 
log4j.logger.org.apache.commons.httpclient=FATAL 

CONSOLE is set to be a ConsoleAppender using a PatternLayout. 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=[%p] %m%n 

LOGFILE is set to be a File appender using a PatternLayout. 
log4j.appender.LOGFILE=org.apache.log4j.FileAppender 
log4j.appender.LOGFILE.File=C:\Users\*username*\Desktop\Android\Android_WS\src\wtp\AndroidWS_Log.log 
log4j.appender.LOGFILE.Append=true 
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.LOGFILE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n 

但产量仍然没有得到日志文件。任何帮助将非常感激。多谢你们!

回答

2

删除线2:

log4j.rootCategory=INFO, CONSOLE 

另外,尝试使用正斜杠 '/' 的目录分隔符:

log4j.appender.LOGFILE.File=C:/Users/*username*/Desktop/Android/Android_WS/src/wtp/AndroidWS_Log.log 
+0

我会尝试正斜杠,但第2行被注释掉。 – ninnemannk 2011-03-01 16:10:34

+0

正斜杠完美运作。谢谢! – ninnemannk 2011-03-01 16:20:56

1

确保您的服务器具有对日志文件的写入权限。

+0

究竟是如何做呢?一般来说,我是log4J的新手,对于Web服务来说相当新颖。 – ninnemannk 2011-03-01 16:01:50

+0

这与您使用的操作系统以及它处理用户的方式有关。您的服务器使用无法访问用户目录中的文件的用户帐户运行。 – kgiannakakis 2011-03-01 16:08:21