【问题标题】:How do I set up a log4j appender with 'appender-ref' in grails 2?如何在 grails 2 中使用“appender-ref”设置 log4j appender?
【发布时间】:2015-11-20 17:44:44
【问题描述】:

使用 Grails config DSL,我如何在 appender 上配置 appender-ref 属性?

我正在尝试将 log4j.xml 从 perf4j 转换为 Grails 配置 DSL (Grails 2.x)。

在我试图模仿的log4j.xml文件中,有这样一段:

log4j.xml

<appender name="CoalescingStatistics"
          class="org.perf4j.log4j.AsyncCoalescingStatisticsAppender">
    <param name="TimeSlice" value="10000"/>
    <appender-ref ref="fileAppender"/>
</appender>

我想在 Grails 中模仿这个 appender 的配置,但是我找不到 &lt;appender-ref&gt; 标签。

这是我最近的尝试:

log4j = {
    appenders {
        //main appender for the app
        rollingFile ...

        //perf4j coalescing stats appender
        appender new AsyncCoalescingStatisticsAppender(name: "coalescingStatsAppender", timeSlice: 10000)

        //perf4j stats file appender
        rollingFile name: "perfLogFileAppender", file: "perfStats.log", layout: new PatternLayout("%m%n")
    }

    root {
        error 'stdout', 'rollingFileAppender'
    }

    info additivity: false, coalescingStatsAppender: [StopWatch.DEFAULT_LOGGER_NAME]
}

其他详情

这里是我模仿的源log4j.xml:

https://web.archive.org/web/20150508124059/http://perf4j.codehaus.org/devguide.html#Using_the_log4j_Appenders_to_Generate_Real-Time_Performance_Information

【问题讨论】:

    标签: grails logging log4j config perf4j


    【解决方案1】:

    我能够使用一些 Groovy 魔法让它工作:

    log4j = {
        appenders {
            //...regular appenders
    
            //perf4j appenders
            Appender perfLogFileAppender = delegate.rollingFile name: "perfLogFileAppender", file: "perfStats.log", layout: new PatternLayout("%m%n")
            def statsAppender = new AsyncCoalescingStatisticsAppender(name: "coalescingStatsAppender", timeSlice:
                10000)
            statsAppender.addAppender(perfLogFileAppender)
            appender statsAppender
        }
        root {
            error 'stdout', 'rollingFileAppender'
        }
    
        info additivity: false, coalescingStatsAppender: [StopWatch.DEFAULT_LOGGER_NAME]
    }
    

    始终欢迎更优雅的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多