-1

我一直在尝试从一个简单的 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

4

1 回答 1

0

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

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

于 2012-09-30T08:08:22.093 回答