Лучший способ изменить добавленный log4j для ведения журнала

В настоящее время я разрабатываю большой (функционально мудрый) веб-сервис для отдыха, и я хочу действительно хорошо вести журналы, чтобы иметь хорошее представление о том, что там происходит. . На данный момент я использую log4j для ведения журнала, используя добавленную настройку:

<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p: %c - %m%n" />
    </layout>
</appender>

, которая создает журналы такого типа:

10:44:55,893 INFO  [STDOUT] INFO : my.package.MyClass - I'm class message
  1. Как мне сделать это сообщение похожим на ie

     10: 44: 55,893 ИНФОРМАЦИЯ: my.package.MyClass  - Я классное сообщение
     
  2. Могу ли я сделать специальный аппендер или что-то еще, и использовать его в некоторых классах не во всех, т.е. я хочу, чтобы в нескольких моих журналах было следующее:

    • Полезная нагрузка: некоторые параметры запроса
    • Ответ: некоторые ответ, что моя служба возвращает
    • дополнительные данные: некоторые дополнительные данные

Без этих INFO [STDOUT] INFO my.package.MyClass перед ним

UPDATE

Я забыл упомянуть в вопрос о том, что я использую Jboss 5. Я думаю, что jboss может добавлять 10: 44: 55,893 INFO [STDOUT] в любой формат, который я помещаю в свою конфигурацию log4j.

ОБНОВЛЕНИЕ ДОБЫЧИ

] Я изменил это:

<!-- ============================== -->
   <!-- Append messages to the console -->
   <!-- ============================== -->

   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      <param name="Target" value="System.out"/>
      <param name="Threshold" value="INFO"/>

      <layout class="org.apache.log4j.PatternLayout">
         <!-- The default pattern: Date Priority [Category] Message\n -->
         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
      </layout>
   </appender>

на это:

<!-- ============================== -->
   <!-- Append messages to the console -->
   <!-- ============================== -->

       <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
          <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
          <param name="Target" value="System.out"/>
          <param name="Threshold" value="INFO"/>

          <layout class="org.apache.log4j.PatternLayout">
             <!-- The default pattern: Date Priority [Category] Message\n -->
             <param name="ConversionPattern" value="%m%n"/>
          </layout>
       </appender>

И это сработало, но делать это вот так кажется некрасивым. Есть ли другой путь? Я использую комбинацию Spring MVC / JBoss.

Теперь я получаю хорошие чистые сообщения:

10:44:55,893 INFO : my.package.MyClass - I'm class message

без раздражающего префикса

10:44:55,893 INFO  [STDOUT]

8
задан skaffman 12 July 2011 в 20:39
поделиться