在独立应用程序中,我使用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属性从相对路径更改为绝对路径,但没有改变任何内容。
我还验证了如果我提供的文件名无效,该工具会报告错误,说明无法生成文件。所以我很困惑为什么没有报告错误并且没有生成文件。
我已经在我的硬盘上搜索了该文件以确认其未在其他地方生成,但事实并非如此。
非常感谢任何帮助。