четверг, 29 ноября 2007 г.

Настройка log4j

Настройка log4j, которая не мешает разработке. Все что нужно, это что бы сообщения об ошибках в чем угодно (и свой и чужой код) всегда показывались на консоли и сохранялись в файл. А сообщения info, которыми запросто может обрасти код приложения, вываливались на консоль в режиме разработки. Вот на чем остановился (файл Config.groovy):
log4j {
  appender.stdout = "org.apache.log4j.ConsoleAppender"
  appender.'stdout.layout' = "org.apache.log4j.PatternLayout"
  appender.'stdout.layout.ConversionPattern' = '%d %-6p [%-10t] %-15c{1} - %m%n'

  appender.errors = "org.apache.log4j.FileAppender"
  appender.'errors.layout' = "org.apache.log4j.PatternLayout"
  appender.'errors.layout.ConversionPattern' = '%d %-6p [%-10t] %-15c{1} - %m%n'
  appender.'errors.File' = "error.log"

  rootLogger = "error,stdout,errors"

  logger {
      StackTrace = "error,errors"
  }
  additivity.StackTrace = false
}


environments {
  development {
      log4j {
          logger {
              grails = "info,"
          }
      }
  }
}
Поясню некоторые моменты:
  • rootLogger = "error,stdout,errors" - все ошибки будут валится на консоль и в файл
  • grails = "info," - все логгирование из приложения будет валится на консоль