首页 / JAVA / java log4j记录优先级问题
java log4j记录优先级问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java log4j记录优先级问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1383字,纯文字阅读大概需要2分钟。
内容图文
log4j的Level类具有以下构造函数:
protected Level(int level, String levelStr,int syslogEquivalent)
我的问题是,何时使用String levelStr参数?
我已经定义了自己的自定义appender,并在其中定义了一个自定义级别,如下所示:
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);我可以看到我的消息,但级别是致命的.
main FATAL logging.customlog - Send an Error Message to log
我认为它会在我的自定义级别(即主ALERT)中定义为ALERT.
我在这做错了吗?我不应该在输出日志中看到ALERT吗?
如果没有,那么leveStr何时使用?
解决方法:
您正在初始化级别,但您没有覆盖Level类中的其余方法.因此,当Logger调用CustomeLevel.toLevel(String)来获取级别的名称时,它将其设置为“FATAL”
查看示例
http://jaitechwriteups.blogspot.com/2006/07/create-your-own-logging-level-in-log4j.html
内容总结
以上是互联网集市为您收集整理的java log4j记录优先级问题全部内容,希望文章能够帮你解决java log4j记录优先级问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。