java - log4j 记录器类名通配符

标签 java logging log4j wildcard

是否可以在 log4j 1.x 中指定不基于包的通配符,而是指定基于记录器名称的通配符

我想要这样的东西:

<logger name="*Reporter" >
    <level value="INFO"/>
    <appender-ref ref="ReportFileAppender"/>
</logger>

最佳答案

No (参见“记录器层次结构”部分)。您想要做的是定义一组记录器,这是不可能的,因为每个记录器都有自己的名称。

以下内容应该模仿您想要实现的目标:

<logger name="Reporter" >
    <level value="INFO"/>
    <appender-ref ref="ReportFileAppender"/>
</logger>

在每个*Reporter 类(class)中:

public class MyReporter {
    private static final Logger logger = LogManager.getLogger("Reporter");

    public MyReporter() {
        logger.debug("foo");
    }
}

我的直觉是你真的应该使用包

关于java - log4j 记录器类名通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39730088/

相关文章:

java - 带有 servlet 的 jQuery 自动完成 UI 不返回任何数据

java - API 描述未显示在 Swagger UI 中

c# - 如何在不使用第 3 方库的情况下登录 C#?

java - Log4J 能够从磁盘已满中恢复吗?

java - 如何为 jar 配置 log4j 日志记录?

spring-boot - Debug模式下的 Spring Boot 日志不使用 log4j starter 打印

java - 关于让这些列对齐(Java)有什么想法吗?

Java 函数返回零作为结果

python - 在Python中创建多个记录器到同一模块中的不同输出

java - 是否可以通过 Spring Boot 中的 application.properties 修改日志附加器参数?