【问题标题】:How do I add multiple appenders to my Custom Appender using groovy config?如何使用 groovy 配置将多个附加程序添加到我的自定义附加程序?
【发布时间】:2011-11-08 19:02:09
【问题描述】:

我正在将我的 logback.xml 文件转换为 groovy,并面临将附加程序添加到我的自定义附加程序的挑战!

目前我是这样做的:

<appender name="MyCustomAppender" class="url.MyCustomAppender">
    <param name="BufferSize" value="10000"/>
    <param name="Blocking" value="true"/>
    <appender-ref ref="FILE"/>
    <!-- <appender-ref ref="CONSOLE"/> -->
    <appender-ref ref="CONSOLE_ERR"/>
</appender>

我用 groovy 尝试过这样的事情,但失败了:

   appender("MyCustomAppender", MyCustomAppender) {
    BufferSize = 10000
    Blocking = true
    appender-ref('ref':"CONSOLE_ERR");
        appender-ref('ref':"FILE"); 
   }

我无法更改共享代码中的自定义附加程序,因此这不是解决方案。我只想做与 xml 中发生的完全相同的事情,但在 groovy 中。

【问题讨论】:

    标签: xml logging groovy log4j logback


    【解决方案1】:

    试试这个:

    def consoleErrAppender = appenderList.find { it -> it.name == "CONSOLE_ERR" }
    def fileAppender = appenderList.find { it -> it.name == "FILE" }
    
    appender("MyCustomAppender", MyCustomAppender) {
        BufferSize = 10000
        Blocking = true
        appender = consoleErrAppender
        appender = fileAppender    
    }
    

    我想你的MyCustomAppender 实现了AppenderAttachable 接口(或者至少有一个public void addAppender(Appender&lt;E&gt; newAppender) 方法)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-03
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      相关资源
      最近更新 更多