2

Groovy log4j DSLを使用して、log4jがXMLLayoutのファイルにログを記録するようにしています。ただし、「layout:」の部分は無視されているようです。これは私のセットアップです:

appenders {
    file name: 'fileAppender', layout: xml, file: '/tmp/logs/applog.xml', threshold: org.apache.log4j.Level.INFO
    console name: "stdout", threshold: org.apache.log4j.Level.INFO
}

root {
    debug 'stdout', 'fileAppender'
}

したがって、標準出力には情報レベルのパターンレイアウトを正しく取得しますが、ファイルではパターンレイアウトも取得します...

ここでのトリックは何ですか?

4

2 に答える 2

1

これはバグです。2.0.1 用に修正しました: http://jira.grails.org/browse/GRAILS-8635

あなたが見つけた回避策は、DSL ショートカットの代わりにコンストラクターを明示的に使用することです。

于 2012-01-16T03:47:57.633 に答える
0

layout: new XMLLayout() または layout: new HTMLLayout() を使用できることがわかりました

しかし、それでも、ドキュメントには次のように書かれています

デフォルトでは、Log4j DSL は PatternLayout を使用することを前提としています。ただし、次のような他のレイアウトも利用できます。

xml - Create an XML log file
html - Creates an HTML log file
simple - A simple textual log
pattern - A Pattern layout

xml と html のショートカットが機能しないようです。

于 2012-01-16T00:32:37.490 に答える