Вопрос по spring – Как отключить ведение журнала отладки Spring 3?

7

Я хотел бы отключить ведение журнала log4j для Spring 3.1, оставляя вещи для отладки для моего собственного кода.

Я попытался вставить эту строку в мои log4j.properties:

log4j.category.org.springframework = WARN 

Чтобы получить это:

# Root Logger Setup:  Includes the level of reporting and appenders -> where
#                     log messages get sent                                              
log4j.rootLogger                            = DEBUG,ca,fa

log4j.category.org.springframework = WARN

#ca - Console Appender - Send messages to the console
log4j.appender.ca                          = org.apache.log4j.ConsoleAppender
log4j.appender.ca.layout                   = org.apache.log4j.PatternLayout
log4j.appender.ca.layout.ConversionPattern = [acme]: [%-5p] - %d{yyyy-MMM-dd HH:mm:ss} -  %c{1}:%M(): %m%n



#fa - File Appender - Send messages to a log file
log4j.appender.fa                            = org.apache.log4j.RollingFileAppender
log4j.appender.fa.File                       = acme.log
log4j.appender.fa.MaxFileSize                = 100KB
log4j.appender.fa.MaxBackupIndex             = 10
log4j.appender.fa.Threshold                  = DEBUG
log4j.appender.fa.layout                     = org.apache.log4j.PatternLayout
log4j.appender.fa.layout.ConversionPattern   = [%-5p] - %d{yyyy-MMM-dd HH:mm:ss} -  %c{2}:%M(): %m%n 

Не повезло в отключении отладочного вывода из Spring, хотя.

Заранее благодарю за любую помощь

Стив

Ваш Ответ

2   ответа
1

В моем classpath у меня есть каталог C: \ Classes для удобства, когда я экспериментирую с вещами. У меня там был другой файл log4.properties, который заменял тот, что был упакован в мою WAR, что делало его похожим на приведенный ниже метод, который не работал. Я переименовал log4.properties в моем C: \ Classes и все хорошо.

Спасибо всем, кто взглянул, и спасибо людям в Spring Source, которые сделали это необходимым. Приятно осознавать, что для меня легко доступен обширный уровень отладки, когда я хочу его, вместо того, чтобы просто получить черный ящик.

7

Все ваши зависимости на месте?

1.3.2.3 Using Log4J

Many people use Log4j as a logging framework for configuration and management purposes. It's efficient and well-established, and in fact it's what we use at runtime when we build and test Spring. Spring also provides some utilities for configuring and initializing Log4j, so it has an optional compile-time dependency on Log4j in some modules.

To make Log4j work with the default JCL dependency (commons-logging) all you need to do is put Log4j on the classpath, and provide it with a configuration file (log4j.properties or log4j.xml in the root of the classpath). So for Maven users this is your dependency declaration:

<dependencies>
   <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>3.0.0.RELEASE</version>
      <scope>runtime</scope>
   </dependency>
   <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.14</version>
      <scope>runtime</scope>
   </dependency>
</dependencies> 

And here's a sample log4j.properties for logging to the console:

log4j.rootCategory=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n

log4j.category.org.springframework.beans.factory=DEBUG
И убедитесь, что в вашем classpath нет файла log4j.xml или log4j.properties

Похожие вопросы