Использование log4j из файлов src / groovy - PullRequest
6 голосов
/ 23 декабря 2011

Я пытаюсь использовать log4j из моего класса src / groovy в проекте grails, например:

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 Ответ

2 голосов
/ 29 декабря 2011

Интересно, у вас есть параметры не по порядку.

Это работает для меня:

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
}

С тем же кодом.

...