Как использовать макет xml или html с Grails Log4j DSL
Я пытаюсь получить log4j для входа в файл в XMLLayout, используя groovy log4j dsl. Однако, похоже, что "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'
}
Таким образом, в stdout я получаю свой шаблонный макет информационного уровня, но в файле я также получаю шаблонный макет...
В чем тут подвох?
2 ответа
Это ошибка. Я исправил это для 2.0.1: http://jira.grails.org/browse/GRAILS-8635
Обходной путь, который вы нашли, состоит в том, чтобы явно использовать конструктор вместо ярлыка DSL.
Ну, я обнаружил, что вы можете просто использовать макет: новый XMLLayout() или макет: новый 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 не работают.