2010-09-08 6 views
0

Использование стандартной конфигурации log4j для моего Grails приложения, с рисунком на заказ преобразования, как, что:Grails conversionPattern изменения во время выполнения

log4j = { 
appenders { 
     console name:'stdout', layout:pattern(conversionPattern: '[%-7p][%d{dd/MM/yyyy HH:mm:ss,SSS}] %C %m%n') 
    } 

root { 
warn 'stdout' 
additivity = true 
} 

error 'org.grails.plugins.springsecurity' 

error 'org.codehaus.groovy.grails.web.servlet' // controllers 
// ... 

warn 'org.mortbay.log', 
'org.apache.tomcat', 
'org.apache.tomcat.util.digester' 

debug 'grails.app' 

} 

Мои Grails запуске приложения, как и ожидалось .. с хорошей conversionPattern ... но только в течение нескольких строк журнала ... наконец, чтобы вернуться к умолчанию grails conversionPattern ...: -/

Любая идея?

ответ

0

Я не кодирую в Grails, но я знаю log4j очень хорошо.

На первый взгляд, кажется, вам нужно проверить те линии, которые не отформатированы так, как ожидалось. Скорее всего, они не пойманы регистратором, который использует ваш stdout appender.

От того, что я могу собрать вместе, мне кажется, что может быть Ваш регистратор ошибок является единственным, кто использует ваш stdout appender. Значение ничего, кроме предупреждений, не форматировалось бы, как ожидалось. Кроме того, также возможно, что регистраторы, присутствующие в ваших библиотеках, улавливают некоторые записи журнала, но не другие.


В принципе, лучший способ решить эту проблему, чтобы изменить ваш шаблон, чтобы дать вам хорошую информацию о ваших лесорубов (я бы предложил заменить шаблон% C, который очень медленно, чтобы выполнить с% с, чтобы увидеть точная категория, которая использовалась регистратором). Затем рассмотрите различия между тем, что правильно отформатировано, и все остальное.

  • Есть ли у них общий уровень (информация, отладка, ошибка и т. Д.)?
  • Есть ли у них такой же пакет?
  • Являются ли они сторонними библиотечными вызовами?

Выясните, что у них общего, и вы найдете свою ошибку.

Смежные вопросы