java - Log4J2 - 如何设置对我的新记录器的引用

标签 java log4j2

我有这个用于 log4j2 的 xml 配置文件,但记录器不工作。如果我在运行程序时将根记录器的引用设置为“信息”(我的新附加程序)的“错误”,则记录器可以工作并将数据写入记录器文件,但是如果我将 thouse 附加程序设置为我的新记录器(“信息”和“ErrorLog”)记录器不会将任何数据写入我的日志文件。

这是我的配置 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>

<Configuration>

  <Appenders>

    <Console name="Console">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>

    <File name="Info" fileName="logs/info.log">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
    </File>

        <File name="Errors" fileName="logs/errors.log">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
    </File>

  </Appenders>


  <Loggers>
      <Logger name="Information" level="debug">
      <AppenderRef ref="Info"/>
    </Logger>

        <Logger name="ErrorLog" level="error">
      <AppenderRef ref="Errors"/>
    </Logger>


    <Root level="debug">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>



</Configuration>

最佳答案

解决了!

我修改了 Loggers 部分并删除了那 2 个 Loggers。

    <Loggers>
    <Root level="debug">
      <level value="DEBUG" />
        <appender-ref ref="Console" />
        <appender-ref ref="Info" />
        <appender-ref ref="Errors" />
    </Root>
  </Loggers>

关于java - Log4J2 - 如何设置对我的新记录器的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54060867/

相关文章:

java - 如果在 WebApplication 中使用 ClassLoader.getSystemResource 访问文件,则将文件放置在何处

java - java中的正则表达式尝试匹配特定格式的字符串(格式由 | sysbol 组成)

java - 从 Log4j2 XML 配置中以编程方式获取属性

java - 我的自定义 Log4j2 XML 配置文件 Java 中的记录时间不正确

java - 如何使用 log4j2 将日志保存到带有时间戳的文件中

spring-boot - 自定义log4j插件和Spring Boot

spring - log4j2 中 xwEx 的含义?

java - 哪些是 Java 注解中字段和方法的默认修饰符?

Java分布式系统

Java - 附加到循环中的文件或打印整个字符串