使用jsf Web应用程序中的log4j进行日志记录

时间:2012-09-30 01:39:33

标签: jsf logging log4j glassfish-3

我一直在尝试使用简单的jsf Web应用程序中的log4j登录到文本文件,但没有成功。每次我在位置打开文件时,都没有写入任何内容。我正在使用glassfish进行部署。下面是我的log4j.properties配置

log4j.rootLogger = debug, stdout, FILE

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.appender.FILE = org.apache.log4j.RollingFileAppender
log4j.appender.FILE.maxFileSize = 100kb
log4j.appender.FILE.maxBackupIndex = 2
log4j.appender.FILE.File = C:\temp\mylog.txt
log4j.appender.FILE.Threshold = debug
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n

我意识到文件mylog.txt是在glassfish应用服务器的.... \ domains \ domain1目录中创建的。如何让它直接指向C:\ temp \ mylog.txt

1 个答案:

答案 0 :(得分:0)

修好了。实际上我的文件位置的行分隔符是错误的方向“\”反斜杠和log4j期望“/”正斜杠行分隔符 - 可能是因为它需要一个url模式文件位置地址。

所以我把C:\ temp \ mylog.txt更改为C:/temp/mylog.txt并瞧!这也适用于您希望log4j定位的任何其他文件位置