Класс Level в log4j имеет следующий конструктор:
protected Level(int level, String levelStr,int syslogEquivalent)
Мой вопрос: когда используется параметр String levelStr
?
Я определил свой собственный пользовательский аппендер и вэто я определил пользовательский Level
следующим образом:
public static class CustomLevel extends Level {
private static final long serialVersionUID = 1L;
public static final Level ALERT = new CustomLevel(FATAL_INT, "ALERT", 2);
protected CustomLevel(int level, String levelStr, int syslogEquivalent) {
super(level, levelStr, syslogEquivalent);
}
}
В моем appender, в методе append
я делаю:
Level newLevel = CustomLevel.ALERT;
etc.
LoggingEvent newLoggingEvent = new LoggingEvent(
event.getFQNOfLoggerClass(), event.getLogger(), event.getTimeStamp(), newLevel,
event.getMessage(), event.getThreadName(), event.getThrowableInformation(),
event.getNDC(), event.getLocationInformation(), event.getProperties());
super.append(newLoggingEvent);
На выходе журнала,когда я делаю custom_Logger.fatal(msg);
, я вижу свое сообщение, но уровень FATAL
.
main FATAL logging.customlog - Send an Error Message to log
Я думал, что это будет ALERT
, как определено на моем пользовательском уровне (то есть main ALERT
).
Так я что-то не так делаю здесь?Разве я не вижу ALERT
в журнале вывода?
Если нет, то когда leveStr
используется?