Log4j2 SyslogAppender 不工作

2023-12-29

我正在使用 Log4j 版本 2.1(最新的稳定版本)并尝试使用 Syslog 附加程序来记录到 syslog 服务器。我正在使用他们官方网站上给出的配置(http://logging.apache.org/log4j/2.x/manual/appenders.html#SyslogAppender http://logging.apache.org/log4j/2.x/manual/appenders.html#SyslogAppender):

<Syslog name="RFC5424" format="RFC5424" host="localhost" port="514"
        protocol="UDP" appName="MyApp" includeMDC="true"
        facility="LOCAL0" enterpriseNumber="18060" newLine="true"
        messageId="Audit" id="App"/>

当我启动我的应用程序并执行 LogManager.getLogger() 时,我收到一个错误(堆栈跟踪如下),因此,在我向他们的错误跟踪器报告错误之前,我是否做错了什么?

014-11-17 18:26:23,640 ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.SyslogAppender for element Syslog. java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:135)
  at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:766)
  at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:706)
  at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:698)
  at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:358)
  at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:161)
  at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:359)
  at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:420)
  at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:138)
  at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:147)
  at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:41)
  at org.apache.logging.log4j.LogManager.getContext(LogManager.java:175)
  at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:426)
  at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:408)
  at Log.<clinit>(Log.java:7)
Caused by: java.lang.IllegalArgumentException: No structured id name was supplied
  at org.apache.logging.log4j.message.StructuredDataId.<init>(StructuredDataId.java:92)
  at org.apache.logging.log4j.core.layout.Rfc5424Layout.<init>(Rfc5424Layout.java:139)
  at org.apache.logging.log4j.core.layout.Rfc5424Layout.createLayout(Rfc5424Layout.java:657)
  at org.apache.logging.log4j.core.appender.SyslogAppender.createAppender(SyslogAppender.java:133)
... 19 more

您需要包括mdcId属性。例如。:

<Syslog name="RFC5424" format="RFC5424" host="localhost" port="514"
        protocol="UDP" appName="MyApp" mdcId="mdc" includeMDC="true"
        facility="LOCAL0" enterpriseNumber="18060" newLine="true"
        messageId="Audit" id="App"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Log4j2 SyslogAppender 不工作 的相关文章

随机推荐

  • HTTPS POST 请求 Python,返回 .csv

    我想向 HTTPS 站点发出发布请求 该站点应以 csv 文件响应 我有这个Python代码 try conn httplib HTTPSConnection host www site com port 443 gt 给出 BadStat
  • C# 中顺序循环为何比并行循环运行得更快?

    我尝试了一个非常小的例子 using System using System Collections Generic using System Linq using System Text using System Threading Ta
  • Android 布局权重没有像我想象的那样工作

    下列的android layout weight 是什么意思 https stackoverflow com questions 3995825 what does androidlayout weight mean 我有这个
  • Flash AS3跨域绕过问题

    我目前正在我的网站上托管一个 Flash 游戏 网址为 https 我添加了一个跨域文件 指定我只允许从托管我的 Flash 应用程序的网站进行访问 如果我下载 swf 文件并尝试从本地计算机运行它 它不会让我运行 这就是我想要的 但是 如
  • 如何在 Backbone 中处理日期?

    我将日期以 DATETIME 格式存储在 MySQL 数据库中 从数据库中获取模型时 日期 DATETIME 格式 将转换为模型中的日期对象初始化方法 到目前为止 一切都很好 将模型保存到服务器时 需要将日期对象转换回 DATETIME 格
  • 带有未绑定列的 Devexpress 网格

    我有一个 DevExpress 网格 我想在其中添加一个未绑定的复选框以便能够选择某些项目 选择完成后 我按下一个按钮 我必须循环网格才能获取所有选定的项目 它必须是一个复选框 我尝试过使用多选网格 但用户无法使用它 我已经尝试了在支持网站
  • mongodb文档更新后什么时候会过期?

    我在 mongodb 中有一个文档集合 其中expireAfterSeconds在日期类型索引上设置的属性 为了便于讨论 这些文件被设置为一小时后过期 当我更新此集合中的文档时 会发生以下哪一项情况 a 该文件将在一小时后过期origina
  • 如何在 iOS 中覆盖键盘上方的视图 [重复]

    这个问题在这里已经有答案了 我需要呈现一个覆盖打开的键盘的帮助屏幕 帮助屏幕应该使下面的整个视图变暗 并仅保留一个完全透明的小孔以 突出显示 该部分 重点是在突出显示多个视图组件的同时提供有关它们的一些信息 如果没有键盘 我可以将视图放在层
  • 允许用户为 winform 应用程序选择全局主题

    我正在为内部使用而构建的 winform 应用程序中使用 DevExpress 控件 我的应用程序总共有大约 30 个表单 我正在尝试找出一种方法来允许我的用户选择主题 我在其他帖子的答案中多次看到这里提到这一点 我相信我了解 StyleC
  • Delphi 2009 可以构建返回数据集的 Web 服务吗?

    在我读过的示例 Delphi Web 服务教程中 他们倾向于构建一个返回简单字符串或整数的 Web 服务 例如 http blogs codegear com pawelglowacki 2008 12 18 38624 http blog
  • Nodatime计算X天内的年/月/日

    假设我有 678 天 如何计算从那一刻算起还有多少年 月 日 Duration duration Duration FromStandardDays 678 Instant now SystemClock Instance Now Inst
  • 如何在hive中添加永久功能?

    问题是 如果我声明一个temporary function在蜂巢中像这样 add jar home taobao oplog hivescript my udf jar create temporary function getConten
  • 何时记录捕获的异常的堆栈跟踪

    我最近问是否举报getMessage 捕获的异常的文本 https stackoverflow com questions 7320080 should you report the message text of exceptions 令
  • 如何使用uvicorn创建的事件循环?

    我正在使用 uvicorn 我需要使用现有的事件循环 我正在使用以下命令 loop asyncio get event loop 但是当我使用这一行时 代码被卡住了 但如果我使用new event loop 我收到以下错误 RuntimeE
  • 如何测试 HTML 正文是否包含空标签

    我在某些表单字段上使用文本编辑器 TinyMCE 工作正常 然而 TinyMCE 编辑器会为表单中的每个字段返回一个 HTML 正文标记 如果用户填写该表单字段 则完全没问题 即 description gt string a users
  • 什么是 NSFaceIDUsageDescription - Face ID 使用描述 Info.plist 密钥?

    有一个新的隐私NSFaceIDUsageDescriptionXcode 9 GM 中的 Info plist 键 开发人员在其中提供权限警报的使用说明 有人有相关文档的链接吗 Xcode 中的 plist 视图将其总结为 隐私 Face
  • 将搜索框添加到母版页

    我正在尝试将搜索框添加到 ASP Net MVC Web 应用程序中的母版页 让我困惑的是如何在母版页中正确实现它 那么用户在这个搜索框中输入数据 从MVC的角度应该如何处理数据 我知道我可以使用他母版页的代码 但我不应该 我目前正在尝试为
  • 使用“Is Null”作为基于表单的条件

    如果勾选了表单上的单选框 我试图让我的查询仅返回空记录 如果我在查询中手动包含条件为空 它就可以正常工作 而在其他地方则可以 IIf Forms Reports Status Active True Active 工作得很好 然而 IIf
  • 在Java中如何确定仿射变换的矩形是否包含某个点?

    我正在尝试制作一个交互式 GUI 但每当单击 拖动该矩形时 我都需要移动某个对象 基本上我想知道一个经过仿射变换的矩形是否包含一个特定的点 x y 有没有办法做到这一点 我尝试过使用contains 方法 但它不适用于已进行仿射变换的矩形
  • Log4j2 SyslogAppender 不工作

    我正在使用 Log4j 版本 2 1 最新的稳定版本 并尝试使用 Syslog 附加程序来记录到 syslog 服务器 我正在使用他们官方网站上给出的配置 http logging apache org log4j 2 x manual a