java - 如何将 snmp4j/snmp4j-agent jar 日志/sysout 语句转发到 log4j2 使用的 API?
问题描述
我需要将 snmp 身份验证成功和失败详细信息记录到使用的 log4j2 框架中。我的代码只会在身份验证/snmpget/bulk 命令成功时命中,而失败的 snmp 命令(如参数传递无效用户名/OID 不存在)不会命中我的代码,响应将通过使用的 snmp4j/snmp4j-agent jar 发送到客户端。在失败的情况下,我会错过将语句记录到使用的 log4j2 框架中。
我遵循了互联网上提供的以下几种方法,但这些方法没有帮助
1.https://www.snmp4j.org/CHANGES-2.x.txt:使用最新的snmp4j-log4j2.8.2版本和snmp4j2.8.4和snmp4j-agent2.7.4 jar
- https://bugzilla.redhat.com/show_bug.cgi?id=591762:要将 SNMP4J 日志发送到 log4j,您可以将“-Dsnmp4j.LogFactory=org.snmp4j.log.Log4jLogFactory”添加到 RHQ java opts,或者在代码中调用 LogFactory.setLogFactory(new org.snmp4j.log.Log4jLogFactory())。
谁能帮助我如何将 snmp4j 日志重定向到使用过的 log4j2 框架?
解决方案
你的两种方法是正确的。之后,您需要配置 log4j2 框架。
有关如何使用 log4j2 的详细信息,请参阅log4j2 主页。
拥有一个正在运行的 log4j2 配置,您可能想要更改一些 snmp4j 日志级别。使用基于 XML 的 log4j2 配置,您必须添加以下行以输出所有带有日志级别调试的 snmp4j 消息:
<Logger name="org.snmp4j" level="debug" />
推荐阅读
- blazor - 移动/PC 中的缓慢 Blazor WASM 初始加载
- firebase - 如何使用 Flutter 遍历 Firestore 中的每个文档和属性总和
- laravel - 在 ->radio('name', 'value') 上的 Laravel Dusk 中没有这样的元素错误
- python - 当我运行它添加到我的 .txt 文件中的函数时,我该如何更改它?
- css - 在我的文本模式中没有得到空格和线条
- android - 最近与 firebase android 聊天
- sql - 加入没有唯一标识符和重复数据的 SQL Server 表
- flutter - 如何使用颤振中的原始数据与 Dio 一起制作 http 帖子?
- python - 如何在虚拟环境中导入正确的 python 模块
- c# - 如何在表格的一个列单元格中输入字母,而在另一列单元格中只输入数字?