【问题标题】:log4j is printing logs in .nfsXXXX instead of .log fileslog4j 在 .nfsXXXX 而不是 .log 文件中打印日志
【发布时间】:2021-12-22 02:46:49
【问题描述】:

我正在尝试使用 log4j 创建日志,但正在生成打印日志的 .nfsXXXX 文件。 有人可以指导我为什么会生成这些文件以及如何防止它们。 我正在使用 linus

logging.properties 内容:

log4j.logger.errorLogger=debug, E
log4j.additivity.errorLogger=false
log4j.appender.E=org.apache.log4j.RollingFileAppender
log4j.appender.E.File=Error.log
log4j.appender.E.MaxBackupIndex=10
log4j.appender.E.MaxFileSize=10MB
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=[%d{dd MMM yyyy HH:mm:ss,SSS} : %-5p] - %m%n%n


log4j.logger.consoleLogger=debug, C
log4j.additivity.consoleLogger=false
log4j.appender.C=org.apache.log4j.RollingFileAppender
log4j.appender.C.File=Console.log
log4j.appender.C.MaxBackupIndex=10
log4j.appender.C.MaxFileSize=10MB
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=[%d{dd MMM yyyy HH:mm:ss,SSS} : %-5p] - %m%n%n

log4j.logger.transactionLogger=debug, T
log4j.additivity.transactionLogger=false
log4j.appender.T=org.apache.log4j.RollingFileAppender
log4j.appender.T.File=Transaction.log
log4j.appender.T.MaxBackupIndex=20
log4j.appender.T.MaxFileSize=10MB
log4j.appender.T.layout=org.apache.log4j.PatternLayout
log4j.appender.T.layout.ConversionPattern=[%d{dd MMM yyyy HH:mm:ss,SSS} : %-5p] - %m%n


log4j.logger.XMLLogger=debug, X
log4j.additivity.XMLLogger=false
log4j.appender.X=org.apache.log4j.RollingFileAppender
log4j.appender.X.File=XML.log
log4j.appender.X.MaxBackupIndex=10
log4j.appender.X.MaxFileSize=10MB
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.ConversionPattern=[%d{dd MMM yyyy HH:mm:ss,SSS} : %-5p] - %m%n%n

【问题讨论】:

  • logging.properties 是默认的java.util.logging 配置文件的名称。 Log4j(1.2版)的默认配置文件叫做log4j.properties

标签: java linux logging log4j nfs


【解决方案1】:

log4j 正在打印 .nfsXXXX 而不是 .log 文件中的日志

您应该使用下面的代码并将myFileName.log 替换为您的目标文件名。

log4j.appender.X=org.apache.log4j.RollingFileAppender
log4j.appender.X.fileName=myFileName.log

您需要为您在 logging.properties 文件中声明的所有附加程序执行此操作

【讨论】:

  • 没有名为fileName 的Java Bean 属性(参见javadoc)。尽管私有字段被命名为fileName,但setter 被称为setFile,因此OP 的配置文件中的file 是正确的。
猜你喜欢
  • 2020-03-27
  • 2016-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多