Re: log4j: настройка аппендера только на уровень INFO.
От: Аноним  
Дата: 18.04.06 15:47
Оценка: +1
2 Курилка, Blazkowicz

по поводу — Прячем исключения от клиента?

читал быстро, вопрос не правильно прочитал, теперь понятно.

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

Наверное это неправильно инфо для юзера при помощи log4j выводить Хотя чем это хуже System.out.println() ?
log4j: настройка аппендера только на уровень INFO.
От: Аноним  
Дата: 18.04.06 15:02
Оценка:
аппендер описан так:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
      <param name="Target" value="System.out"/>
      <param name="Threshold" value="INFO"/>
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern"
                value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
      </layout>
   </appender>



В результате на консоль попадает не только INFO но и все то, что выше по уровню(ERROR, WARN, FATAL).
Как можно настроить аппендер так, чтобы в него попадили локи только от logger.info("...").
Re: log4j: настройка аппендера только на уровень INFO.
От: Blazkowicz Россия  
Дата: 18.04.06 15:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>В результате на консоль попадает не только INFO но и все то, что выше по уровню(ERROR, WARN, FATAL).


Прячем исключения от клиента? По-моему конфигами это не реализуемо.
Re[2]: log4j: настройка аппендера только на уровень INFO.
От: Аноним  
Дата: 18.04.06 15:21
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Прячем исключения от клиента?


не совсем понял вопроса.

B>По-моему конфигами это не реализуемо.


если приведете пример как это делается в коде, то не побрезгаю
а то даже не знаю, что в гугле набрать.
Re[3]: log4j: настройка аппендера только на уровень INFO.
От: Курилка Россия http://kirya.narod.ru/
Дата: 18.04.06 15:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Blazkowicz, Вы писали:


B>>Прячем исключения от клиента?


А>не совсем понял вопроса.


Про уровень логирования не понимаешь? То что порог задаёшь не видно разве?
Выводятся все сообщения выше задаваемого порога.
Ошибки/исключения сюда очень хорошо попадают
Re[3]: log4j: настройка аппендера только на уровень INFO.
От: Blazkowicz Россия  
Дата: 18.04.06 15:37
Оценка:
Здравствуйте, Аноним, Вы писали:

B>>Прячем исключения от клиента?


А>не совсем понял вопроса.


Какой смысл не показывать ошибки?

B>>По-моему конфигами это не реализуемо.


А>если приведете пример как это делается в коде, то не побрезгаю


Надо переопределить метод Hierarchy.isDisabled(...). Каким образом?
Re[2]: log4j: настройка аппендера только на уровень INFO.
От: UDI Россия  
Дата: 18.04.06 19:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Приложение консольное и соответственно не хочу, чтобы в консоль попадала ненужная юзеру информация, стек трейсы например(они помещаются в файл).


Если по другому ну никак не сдлеать, то можно написать свой Layout extends PatternLayout (или, тот который используется). Нужно переопределить у него методы:

public boolean ignoresThrowable() {
  return false;
}

public String format(LoggingEvent event) {  
  if (!event.getLevel().equals(Level.INFO)) {
    return "";
  }          
  return super.format(event);
}
"Не волнуйся, голова! Теперь будет думать компьютер"
Гомер Джей Симпсон
Re: log4j: настройка аппендера только на уровень INFO.
От: feda  
Дата: 21.04.06 05:49
Оценка:
>>>>> "А" == Аноним <0@users.rsdn.ru> writes:


А> аппендер описан так:

А> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
А> <param name="Target" value="System.out"/>
А> <param name="Threshold" value="INFO"/>
А> <layout class="org.apache.log4j.PatternLayout">
А> <param name="ConversionPattern"
А> value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
А> </layout>
А> </appender>

А> В результате на консоль попадает не только INFO но и все то, что выше

А> по уровню(ERROR, WARN, FATAL).
А> Как можно настроить аппендер так, чтобы в него попадили локи только от
А> logger.info("...").

Как-то так:

<appender ...>
...
<filter class="org.apache.log4j.varia.LevelMatchFilter">
<param name="LevelToMatch" value="INFO" />
</filter>
</appender>
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.