java - Log4j:如何为 Logger 使用自定义名称?

标签 java logging log4j

我使用自定义名称而不是类名称创建了一个记录器

private static Logger LOGGER = LogManager.getLogger("REQUEST_TRACKER");
LOGGER.info("Some Message");

模式是

pattern=%d{yyyy-MM-dd HH:mm:ss,SSS Z} %-5p %-4r [%t] %c{1} %x - %m%n

记录器没有在输出中打印任何内容。

但是当我将名称更改为 Class 时,如下所示

private static Logger LOGGER = LogManager.getLogger(ApplicationResource.class);

我看到输出2018-10-18 13:13:52,805 -0700 INFO 40001 [http-nio-8080-exec-10] com.abc.application.service.ApplicationResource [] - 一些消息

如何配置 Logger 以使用自定义名称?

最佳答案

您必须将记录器分配给 Log4J 配置中的附加程序。

如果您使用 XML 配置, 它看起来像这样:

<logger name="REQUEST_TRACKER">
    <level value="INFO" />
    <appender-ref ref="appenderNameHere" />
</logger>

关于java - Log4j:如何为 Logger 使用自定义名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52881938/

相关文章:

java - 为 jasper 报告禁用 log4j 日志记录

java - log4j2 asyncLogger 不支持自定义 Disruptor 队列完整策略

java - ArrayList.sort() 与 PriorityQueue

Java 文件 mkdir 给出错误的结果

c# - 我如何从 app.config 中告诉 log4net 使用哪个 appender

c# - 有没有办法在 Windows 中使用 C# 以编程方式禁用磁盘驱动器上的写入缓存策略?

java - 可绘制对象不适用于 API 19

java - "java.sql.SQLException The column .. in table .. does not allow null values"尽管列值不为空

java - 在 Glassfish 3.0.1 中部署的 Web 应用程序中处理 slf4j 日志记录的好方法是什么?

java - PatternLayout (log4j) 的 C、F、L、l 和 M 到底有多慢?