【问题标题】:Log4j does not create the logfileLog4j 不创建日志文件
【发布时间】:2018-08-24 08:02:12
【问题描述】:

我想在 java maven 应用程序中将不可用的 log4J 用于日志文件。但是没有创建日志文件。

这是我的 .pom 文件的一部分:

<dependency>
    <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
</dependency>

这是我的 log4j.properties 文件(在 src/main/resources 下):

# Root logger option
log4j.rootLogger=INFO, file, stdout
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=E:\\Test\\logfile.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
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

在我的主要方法中:

log.debug("debug");
log.info("info");
log.warn("warn");
log.error("error");

日志消息在控制台日志中,但尚未创建日志文件。我做错了什么?

【问题讨论】:

    标签: java maven log4j


    【解决方案1】:

    您的pom.xml 不正确。第一行必须是&lt;dependency&gt;。 (缺少>)

    除此之外,您的log4j.properties 应该可以完成这项工作,我试过了,它会写入一个日志文件。

    如何创建 Logger 实例log? 你有E:\\Test\\logfile.log的写权限吗?

    【讨论】:

    • 嗨,依赖只是这里的错字。我已经纠正了这个问题。是的,我对路径 E:\\Test\\logfile.log 具有写入权限
    • 你如何创建loginstance?也许你在那里使用了错误的导入语句,它必须是org.apache.log4j.Logger
    • 我正在使用 lombok 的 @Log4J 注释。这也适用于类似的项目
    • 是的,使用 lombok 的 Log4J 注释,我也可以使用您的 log4j.properties 记录到文件中,所以看起来是正确的。
    • 谢谢。也许是我的单一依赖中的 logback.config 覆盖了我的配置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多