当前位置: 首页 > 知识库问答 >
问题:

logback:没有适用于[编码器]的操作,当前元素路径为[[配置][附加器][编码器]]

井疏珂
2023-03-14

我为logback写了一个附加程序,并将日志保存到ElasticSearch中,然后将此附加程序添加到logback.xml。我将其应用到一个应用程序中,并从ES获取日志。

但是当我将它应用到另一个应用程序中时,logback显示以下错误:

16:18:26,040 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [com.dcf.iqunxing.fx.dashcam.agent.log.appender.logback.DashcamAppender]
16:18:26,062 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [dashcamAppender]
16:18:26,078 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@110:12 - no applicable action for [encoder], current ElementPath is [[configuration][appender][encoder]]
16:18:26,080 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@111:13 - no applicable action for [Pattern], current ElementPath is [[configuration][appender][encoder][Pattern]]

我的回.xml是:

...
<appender name="dashcamAppender"
        class="com.dcf.iqunxing.fx.dashcam.agent.log.appender.logback.DashcamAppender">
    <encoder>
        <Pattern>.%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>TRACE</level>
    </filter>
</appender>
...

丢失了一些操作(或如何添加它们)以进行回退?

共有1个答案

年凯康
2023-03-14

这可能是由于您的自定义appender。

extends AppenderBase<ILoggingEvent> 

这个AppenderBase并没有在它内部实现编码器/模式,但是如果你看控制台appender,它扩展了一个将它们作为对象的appender。

因此,它无法将编码器/模式映射到对象上。

只需将它们一起从附录中取出。

...
<appender name="dashcamAppender" class="com.dcf.iqunxing.fx.dashcam.agent.log.appender.logback.DashcamAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>TRACE</level>
    </filter>
</appender>
...

如果你想使用它们,那么你需要更改你的Appender类来实现它们。

 类似资料:
  • 我的logback.xml如下: 当我查看wireshark的输出时,我只看到记录的JSON(没有给出PRI头字段) 如果切换到标准logback Syslog appender(非JSON输出)

  • 我正在尝试在4.3上运行带有H264编码器的媒体编解码器API的示例代码,在下面的bigflake链接中进行了解释 http://bigflake.com/mediacodec/CameraToMpegTest.java.txt 我面临以下问题- 那么为什么这个值会被更改,不知道...之后,我们总是看到编码器将queueOutputBuffer的状态设置为INFO_TRY_AGAIN_LATER。

  • 代码编辑器提供了有助于在代码中导航并识别其问题的元素。本节讨论编辑器的视觉元素及其最常见的操作。在下面的截图中,我们可以看到编辑器是如何划分的: 1. 编辑区 这是开发人员花费大部分时间来实现其逻辑的主要区域,也可以稍后对其进行编辑。 2. Gutter区域 Gutter 区域是显示有关代码的不同类型信息的区域。它提供了一个选项来运行、调试和运行具有覆盖范围的应用程序。装订线区域显示以下信息 代码

  • 我正在尝试配置如下的日志,但是它抛出了这个错误。配置文件如下所示: -等等- 我收到以下错误。 我已经浏览了stackoverflow并纠正了其中的一些错误。但它仍然不起作用。请帮忙!!

  • 问题内容: 我有一些要发送到我的应用程序中的芹菜任务的对象。这些对象显然无法使用默认json库进行json序列化。有没有一种方法可以使celery使用自定义JSON / 对这些对象进行序列化/反序列化? 问题答案: 这里有些晚,但是您应该能够通过在kombu序列化程序注册表中注册自定义编码器和解码器,如docs中所示: http [//docs.celeryproject.org/en/lates

  • 试图将HEVC编码的视频多路复用到三星Galaxy S6上的MediaMuxer MPEG-4容器中。 MediaFormat(从MediaCodec获得): 根据文档中的表格,csd-0出现在那里,对于H265/hevc来说就足够了 MediaMuxer基于此格式创建索引为0的视频曲目。在编写一些示例,然后调用mediaMuxer之后。stop(),,并在logcat中显示以下内容: 生成的MP