如何正确地将log4j Logger对象实例化到我的类中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何正确地将log4j Logger对象实例化到我的类中?相关的知识,希望对你有一定的参考价值。

我正在编写一个简单的Java命令行,我需要将log4j插入到我的应用程序中,所以我遵循本教程:

http://veerasundar.com/blog/2009/07/log4j-tutorial-adding-log4j-logging-to-your-project/

所以我做了以下步骤:

  1. 我把log4j jar文件放到我的项目库中。
  2. 我将log4j.properties放入配置包中,并使用这个最小配置对其进行配置: #define the console appender log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender # now define the layout for the appender log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n # now map our console appender as a root logger, means all log messages will go to this appender log4j.rootLogger = DEBUG, consoleAppender 所以这个配置说输出必须打印到控制台,我关联DEBUG模式。
  3. 现在教程说: 在任何Java文件中,添加以下行,以便开始记录。 并显示此示例代码: private static Logger logger = Logger.getLogger(MyclassName.class); logger.debug("this is a sample log message."); 好吧,我不明白为了将Logger实例化到我的班级,我必须做些什么。 我的班级名为Mailer所以我可以这样做: private static Logger logger = Logger.getLogger(Mailer.class); 或者是什么?我究竟要做什么?

编辑1:我的班级是这样的:

public class Mailer {

    private static final org.apache.log4j.Logger logger = new Logger(Mailer.class);
    ...................................
    ...................................
    ...................................
}

问题是IntelliJ在Logger上显示错误(Mailer.class);并告诉我:Logger(java.Lang.String)在'org.apache.log4j.Logger'中具有受保护的访问权限

为什么?我该如何解决这个问题?

TNX

答案

然后在您的代码中编写例如:

logger.debug("Your message);
....
logger.error("Somehting crahsed",e);...
另一答案

您必须使用LogManager

查看此链接 -

https://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/LogManager.html#getLogger()

因此,对于您的代码,更改将是这样的 -

     private static final org.apache.log4j.Logger logger = LogManager.getLogger(Mailer.class);
     logger.debug("Its debugging");

以上是关于如何正确地将log4j Logger对象实例化到我的类中?的主要内容,如果未能解决你的问题,请参考以下文章

Log4j日志体系结构

转:Log4j 日志体系结构

如何使用 jquery ajax 正确地将 json 对象传递给烧瓶服务器

如何正确地将 Kal 框架添加到我的 iPhone 项目中?

如何正确地将库与 cmake 链接?

如何正确地将数据解析到我的改造客户端中以执行发布请求[重复]