我正在使用一个简单的 Java 命令行,并且需要将 log4j 插入我的应用程序,因此我遵循本教程:
http://veerasundar.com/blog/2009/07/log4j-tutorial-adding-log4j-logging-to-your-project/
所以我做了以下步骤:
我将 log4j jar 文件放入我的项目的库中。
我将 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模式。
现在教程说:
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/