3

有没有办法关闭 playOrm 中的 INFO 登录?我尝试将我的 log4j.xml 配置设置为

<!-- Application Loggers -->
<logger name="com.alvazan">
    <level value="off" />
</logger>

但我仍然从 com.alvazan 获得了 INFO 日志记录的基调。

提前致谢。

4

2 回答 2

1

您可以编辑 pom.xml 以排除 lobback-classic:

 <dependency>
      <groupId>com.alvazan</groupId>
      <artifactId>playorm</artifactId>
      <version>1.6</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>logback-classic</artifactId>
          <groupId>ch.qos.logback</groupId>
        </exclusion>
      </exclusions>
 </dependency>
于 2013-09-04T12:41:47.743 回答
1

log4j 领导离开并创建了 slf4j 和 logback 日志记录。playOrm 使用 SLF4J,这意味着您需要进行一些 jar 交换,因此 SLF4j 使用的 impl 是 log4j,然后就可以正常工作了。默认情况下,我们使用 logback 作为实现,因为 log4j dude 建议这样做。(您需要做的就是更改 logback jar 并将它们换成 slf4j-log4j jar,它将为您工作并删除 log4j-over-slf4j。罐子也是)。

一个基本的概要是,如果你在你的库中使用 SLF4J,你可以在任何平台上工作,无论他们使用什么日志记录......log4j、jdk、commons 等等等等。commons 有类加载问题,而 SLF4j 没有。阅读 SLF4j,但这里是一个快速运行。

SLF4j 有 4 个适配器 jar,因此日志记录到 log4j 转到 SLF4j,记录到 jdk 日志转到 SLF4j api 和 commons 等等。除非你使用那个 jars impl。您包含所有这些 jar,因此您可以通过一个配置文件控制平台中所有库的日志记录。

然后是api jar。

然后有 4 个实现 jar。与您需要包含所有适配器的适配器 jar 不同,在这种情况下,您选择一个 impl jar 或 slf4j 将记录一个很好的大警告并自行选择一个。在您的情况下,选择 log4j 实现,然后您可以控制所有库,即使它们也登录到 jdk 或 commons 日志框架。

院长

于 2012-12-28T21:40:47.640 回答