Log4j日志记录Java中的自定义日志级别 [英] Log4j Logging for custom Log levels in Java
本文介绍了Log4j日志记录Java中的自定义日志级别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经编写了用于自定义日志记录级别的类,即 INIT
I have written class for custom logging level i.e. INIT
import org.apache.log4j.Logger;
import org.apache.log4j.Level;
public class InitLoggingLevel extends Level {
public static final String INITLOGGING_LEVEL = "INITLOGGING";
public static final Level INIT_LOGGING = new InitLoggingLevel(
DEBUG_INT - 4, INITLOGGING_LEVEL, 7);
protected InitLoggingLevel(int level, String levelStr, int syslogEquivalent){
super(level, levelStr, syslogEquivalent);
}
}
现在我需要在 log4j.properties
中进行哪些更改,以及如何在Java类中使用此 INIT
日志记录级别?
Now what are changes I need to make in log4j.properties
and how I am going to use this INIT
logging level in My Java class?
推荐答案
您必须:
-
像这样覆盖方法
toLevel(String logArgument)
:
public static Level toLevel(String logArgument) {
if (logArgument != null && logArgument.toUpperCase().equals("INITLOGGING")) {
return INIT_LOGGING;
}
return (Level) toLevel(logArgument);
}
在log4j.properties中写一条配置行,如下所示:
Write a configuration line in the log4j.properties like this:
log4j.logger.[MY_CATEGORY] = INITLOGGING#your-package.InitLoggingLevel
仅此而已!
P.S.: The '#' syntax is described in org.apache.log4j.helpers.OptionConverter
source class.
这篇关于Log4j日志记录Java中的自定义日志级别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文