在一个独立的应用程序中,我使用 log4j 进行日志记录,并使用以下属性文件对其进行了配置:
# Root logger option
log4j.rootLogger=WARN, file, stdout
log4j.logger.com.tr = INFO
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=log4j.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Direct log messages to stdout
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{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
在 Windows 中,这按预期工作,在当前工作目录中生成一个 log4j.log 文件。当我在 Linux 中运行应用程序时,它不报告错误但不生成日志文件。记录器输出到控制台就好了。
我尝试以编程方式将 File 属性从相对路径更改为绝对路径,但没有任何改变。
我还验证了如果我提供了一个无效的文件名,该工具会报告一个错误,指出无法生成该文件。所以我很困惑为什么没有报告错误并且没有生成文件。
我已经在我的硬盘上搜索了该文件,以验证它不是在其他地方生成的,它不是。
在这里的任何帮助将不胜感激。