java - 获取 Log4j2 错误

标签 java logging log4j lombok

我的 log4j2 属性文件:

status = warn
name= properties_configuration

#Directory path where log files will be stored
property.basePath = ./log/

#File logger
appender.rolling.type = RollingFile
appender.rolling.name = fileLogger
appender.rolling.fileName= ${basePath}app.log
appender.rolling.filePattern= ${basePath}app_%d{yyyyMMdd}.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %msg%n
appender.rolling.policies.type = Policies

appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.delete.type = Delete
appender.rolling.strategy.delete.basePath = ${basePath}
appender.rolling.strategy.delete.maxDepth = 1
appender.rolling.strategy.delete.ifLastModified.type = IfLastModified
appender.rolling.strategy.delete.ifLastModified.age = 30d

#Root logger configuration
rootLogger.level = info
rootLogger.additivity = false
rootLogger.appenderRef.rolling.ref = fileLogger

我正在使用 Lombok @Log4j2 注释:

@Log4j2
public class BotApplication {
    public static void main(String[] args) {
        ApiContextInitializer.init();
        TelegramBotsApi telegram = new TelegramBotsApi();
        Bot bot = new Bot();
        try {
            telegram.registerBot(bot);
            log.info("Bot successfully connected.");
        } catch (TelegramApiRequestException e) {
            log.error("Can't start Bot. Error: {}", e.getMessage());
        }
    }
}

应用程序正确地将日志写入文件,但总是当我运行我的应用程序时,我的控制台中出现错误:

log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

似乎这些错误不会影响记录器,但我想以某种方式删除它们。

最佳答案

带有“log4j:WARN”的错误消息来自 log4j 1.x。此错误意味着您的类路径中有 log4j 1.x jar,但没有 Log4j 1.x 配置。

如果您不想使用 log4j 1(也不应该),请将 Log4j 2 中的 log4j-1.2-api jar 添加到您的项目中。

关于java - 获取 Log4j2 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60912402/

相关文章:

grails - 如何配置Grails插件以覆盖 “parent”应用程序的Log4J设置?

java - 无法使 Spring JMX NotificationListener 工作

java - 如何更改日志输出 log4j 的颜色

java - Log4J 不在日志文件条目之间添加换行符

linux - 我应该如何从非 root Debian Linux 守护进程登录?

Ruby:拦截 popen 系统调用并将 stdout 和 stderr 记录到同一文件

java - Log4j 日志文件追加覆盖旧事件

java - 将 Java 转换为 XSD 的用例与使用 JAXB 将 XSD 转换为 java 的用例是否不同?

java - 按下被调用 JFrame 布局类的默认取消图标 [x] 时,调用布局类也会被取消

java - 如何初始化 TIME 数组? java 语