当您不为log4j2提供配置时,我们都熟悉此消息:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
如何检查log4j2是否尚未配置,以便在需要时可以使用默认配置进行初始化?
我正在尝试使用log4j2 OSGi包,但似乎log4j2 api无法在OSGi环境中找到log4j2核心。我不断地得到以下异常:
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console
我在几个地方发现了同样的例外,但我仍然找不出这个问题。我怀疑我会遇到这个问题,因为log4j2 api无法在log4j2核心的META目录中找到log4j-provider
我试图使用反射动态加载Log4j2库和方法。目标是让我的程序在类路径中使用Log4j2,如果没有找到Log4j2,只需记录到控制台。它与标准的日志方法很好地工作,但我找不到如何使用供应商的方法。
import java.lang.reflect.Array;
import java.lang.reflect.Method;
import java.util.function.Supplier; // This java 8 interface happens to have the same signature as the Log4j2 Supplier interface
public
我正在尝试将Tomcat8配置为使用Log4j2进行日志记录。
我找到了的参考资料。它提供了一个样例log4j.properties文件,用于配置Log4j以匹配Tomcat的内部日志记录。大部分代码看起来很容易转换为Log4j2,但最后将记录器映射到附加器的部分让我感到困惑:
# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost] = INFO, LOCALHOST
log4j.logger.org.a