http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html полезно. Вы можете установить только один уровень для любого отдельного регистратора (как вы можете узнать из метода setLevel() в журнале регистрации). Однако вы можете взять самый низкий из двух общих уровней, а затем фильтровать программно.
К сожалению, вы не можете сделать это только с конфигурационным файлом. Чтобы переключиться только с конфигурационным файлом, вам придется переключиться на что-то вроде log4j, о котором вы сказали, это не вариант.
Так что я хотел бы предложить изменения протоколирования в коде, с фильтрами, с чем-то вроде этого:
class LevelFilter implements Filter {
private Level Level;
public LevelFilter(Level level) {
this.level = level;
}
public boolean isLoggable(LogRecord record) {
return level.intValue() < record.getLevel().intValue();
}
}
А потом на второй обработчик, сделайте SetFilter (новый LevelFilter (Level.INFO)) или любой другой. Если вы хотите, чтобы файл был настроен, вы могли бы использовать настройки свойств ведения журнала, которые вы создали сами, и использовать обычные методы Свойства.
Я думаю, что код конфигурации для настройки двух обработчиков файлов, программный код довольно прост, если у вас есть дизайн, но если вы хотите добавить больше комментариев, я отредактирую.
Спасибо за ответ. Я просто считаю непонятным, что вы не можете регистрировать сообщения различной степени тяжести в разных местах без написания кода. – user63196
Да, это одна из причин, почему многие люди используют log4j вместо этого –