java - 如何在我的类中正确实例化 log4j Logger 对象?

标签 java logging log4j

我正在使用一个简单的 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. 现在教程说:

    In any of your Java file, add the below lines, in order to start logging.

    并显示此示例代码:

    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:我的类(class)是这样的:

public class Mailer {

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

问题是 IntelliJ 在 Logger(Mailer.class); 上向我显示错误,并对我说:Logger(java.Lang.String) 在 'org 中具有 protected 访问权限.apache.log4j.Logger'

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

Tnx

最佳答案

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

logger.debug("Your message);
....
logger.error("Somehting crahsed",e);...

关于java - 如何在我的类中正确实例化 log4j Logger 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28699581/

相关文章:

java - 无法访问 ArrayList 的 ArrayList(通用)

java - 确定 @Entity 类的相等性需要什么?

java - 更改java中数组的偏移量

java - System.out.println 语句在 websphere 应用服务器中打印在哪里

java - Log4j如何在文件中保存低于 “WARN”的级别

java - 对其他实体的可空属性进行 Spring 可分页排序

java - 字符串中的模式

java - 配置 logback 以按大小滚动,但不按日期滚动

java - 我在哪里可以获得 Spring Boot 默认记录器格式?

java - Log4j smtp appender 只为所有错误发送一封电子邮件