Log4j日志记录Java中的自定义日志级别 [英] Log4j Logging for custom Log levels in Java

查看:78
本文介绍了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?

推荐答案

您必须:

  1. 像这样覆盖方法 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

    仅此而已!

    PS:

    P.S.: The '#' syntax is described in org.apache.log4j.helpers.OptionConverter source class.

    这篇关于Log4j日志记录Java中的自定义日志级别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆