首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在logback中使用SNMP4J

在logback中使用SNMP4J
EN

Stack Overflow用户
提问于 2018-04-12 09:08:38
回答 2查看 643关注 0票数 0

我们在应用程序代码中使用SLF4J和logback,而SNMP4J将log4j作为依赖项。

有人能告诉我如何让SNMP4J与logback一起工作吗?

版本

  • SNMP4J - 2.4.3
  • Logback - 1.2.3
EN

回答 2

Stack Overflow用户

发布于 2018-04-15 15:36:54

您可以为logback编写自己的LogAdapter和LogFactory实现。那应该很简单。您可以从Log4JLogAdatper和Log4JLogFactory开始。

票数 0
EN

Stack Overflow用户

发布于 2018-04-16 08:45:49

通常您需要所有的日志记录,无论是JUL、Log4J、SLF4J、JCL还是logback,都是由slf4j/logback记录的。通过将这些包添加到类路径中,您可以获得这样的结果:

代码语言:javascript
运行
复制
<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),您需要调用两个额外的方法:

代码语言:javascript
运行
复制
org.slf4j.bridge.SLF4JBridgeHandler.removeHandlersForRootLogger();
org.slf4j.bridge.SLF4JBridgeHandler.install();

使用此配置,您可以自由使用SNMP4J中的任何日志框架。Log4J示例:

代码语言:javascript
运行
复制
LogFactory.setLogFactory(new Log4jLogFactory());

您可能必须将Log4J从传递的SNMP4J依赖项中排除在外(如果这个部分现在已经过时,我将删除它):

代码语言:javascript
运行
复制
<dependency>
    <groupId>org.snmp4j</groupId>
    <artifactId>snmp4j</artifactId>
    <version>...</version>
    <exclusions>
        <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </exclusion>
    </exclusions>
</dependency>

对于记录,slf4j/logback依赖项确实如下所示(示例):

代码语言:javascript
运行
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49792459

复制
相关文章

相似问题

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