首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在包含的库中更改日志记录级别?

如何在包含的库中更改日志记录级别?
EN

Stack Overflow用户
提问于 2021-09-01 01:05:10
回答 1查看 60关注 0票数 1

在本例中,我使用了oshi sysinfo库和spring boot。

我尝试在com.github.oshi记录器设置为INFO的情况下使用log4j2.xml文件,但它不能关闭以下DEBUG-level消息。

代码语言:javascript
复制
...
04:33:57.687 [Thread-3] DEBUG oshi.util.FileUtil - Reading file /sys/devices/system/cpu/cpu10/cpufreq/scaling_cur_freq
04:33:57.687 [Thread-3] DEBUG oshi.util.FileUtil - Reading file /sys/devices/system/cpu/cpu10/cpufreq/scaling_cur_freq
/sys/devices/system/cpu/cpu13/cpufreq/scaling_cur_freq
04:33:57.707 [Thread-3] DEBUG oshi.util.FileUtil - Reading file 
...

https://github.com/oshi/oshi

log4j2.xml中的以下设置不起作用:

代码语言:javascript
复制
  <category name="oshi">
    <priority value="OFF"/>
  </category>

  <Loggers>
    <!-- avoid duplicated logs with additivity=false -->
    <Logger name="oshi" level="info" additivity="false">
      <AppenderRef ref="LogToRollingFile"/>
    </Logger>
    <Root level="info">
      <AppenderRef ref="LogToConsole"/>
    </Root>
  </Loggers>

pom.xml包含:

代码语言:javascript
复制
...
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
    </dependency>
...
EN

回答 1

Stack Overflow用户

发布于 2021-09-01 20:40:44

这是一个愚蠢的问题。

我确实设置了log4j2.xml配置,但这是无效的,因为我包含了一个包含logback的spring starter。所以slf4j-over-logback配置生效了。Oshi库使用slf4j。

因此,我排除了spring-boot- starter -logging jar,并包含了spring log4j2 starter,如下所示,问题就解决了:

代码语言:javascript
复制
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-log4j2</artifactId>
      <version>2.5.4</version>
    </dependency>

log4j2配置现在通过slf4j-log4j桥jars生效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69006728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档