[英]Using SNMP4J with logback
我们在应用程序代码中使用SLF4J和logback,而SNMP4J将log4j作为依赖项。
有人可以让我知道如何使SNMP4J与logback一起使用吗?
版
您可以编写自己的LogAdapter和LogFactory实现进行回滚。 那应该很简单。 您可以以Log4JLogAdatper和Log4JLogFactory为例开始。
通常,您需要所有日志记录,无论是JUL,Log4J,SLF4J,JCL还是logback,均由slf4j / logback记录。 您可以通过将以下软件包添加到classpath来实现:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>...</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>...</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>...</version>
</dependency>
对于JUL(java.util.logging),您需要调用两个额外的方法:
org.slf4j.bridge.SLF4JBridgeHandler.removeHandlersForRootLogger();
org.slf4j.bridge.SLF4JBridgeHandler.install();
使用此配置,您可以自由使用SNMP4J中的任何日志记录框架。 Log4J的示例:
LogFactory.setLogFactory(new Log4jLogFactory());
您可能必须从可传递的SNMP4J依赖项中排除Log4J(如果现在已过时,我将删除此部分):
<dependency>
<groupId>org.snmp4j</groupId>
<artifactId>snmp4j</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
对于记录,slf4j / logback依赖项的确如下所示(示例):
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>...</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>...</version>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.