使用src / groovy文件中的log4j

时间:2011-12-23 12:51:49

标签: grails groovy log4j

我正在尝试使用grails项目中我的src / groovy类中的log4j:

package com.brand.vh.importer.command

import org.apache.log4j.Logger

class NewOrder extends CommandAbstract {
   private final Logger log = Logger.getLogger(getClass())

   NewOrder() {
       log.debug("NewOrder constructor called")
   }
}

在Config.groovy中,我有以下log4j设置:

....
// log4j configuration
import org.apache.log4j.DailyRollingFileAppender
log4j = {
    appenders {
        appender new DailyRollingFileAppender(
            name: "fileAppenderImporter",
            file: "log/importer.log",
            datePattern: "'.'yyyy-MM-dd",
            layout: pattern(
                        conversionPattern:
                        "%d{ISO8601} [%p][%X{IP}](%F:%M:%L):%n%m%n%n"
                    )
        )
        ....
    }
    ...
    debug additivity: false,
        fileAppenderImporter: ["com.brand.vh.importer"]
    ...
}

但我的log / importer.log始终为空。我的代码/配置有什么问题?

我会很高兴任何建议,链接等

1 个答案:

答案 0 :(得分:2)

我想知道你的参数是否无序。

这对我有用:

log4j = {
    appenders {
        console name: 'stdout', layout: pattern(conversionPattern: '%d [%t] %-5p [%c(%F:%L)] - %m%n')
        appender new DailyRollingFileAppender(
                name: "fileAppenderImporter",
                file: "log/importer.log",
                datePattern: "'.'yyyy-MM-dd",
                layout: pattern(
                        conversionPattern:
                        "%d{ISO8601} [%p][%X{IP}](%F:%M:%L):%n%m%n%n"
                )
        )
    }

    root {
        debug 'stdout'
        info 'stdout'
        additivity = false
    }

    debug fileAppenderImporter: ['com.brand.vh.importer'], additivity: false
}

使用相同的代码。