2015-02-24 56 views
0

我正在一個簡單的Java命令行上,我需要插入log4j的到我的應用程序,所以我下面這個教程:如何正確地將log4j Logger對象實例化到我的類中?

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 
    

    所以這個配置說的輸出必須打印到控制檯和我的關聯調試模式。

  3. 現在的教程說:

    在任何您的Java文件,添加以下行,以便開始 記錄。

    ,並出示此示例代碼:

    private static Logger logger = Logger.getLogger(MyclassName.class); 
    logger.debug("this is a sample log message."); 
    

    好吧,我不明白是什麼exatly我必須做​​的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顯示我的記錄儀(Mailer.class)的錯誤;並對我說:Logger(java.Lang.String)已在'org.apache.log4j.Logger'中保護訪問權限

爲什麼?我該如何解決這個問題?

TNX

+0

是的就是這樣(你也可以使它最終) - 它不工作? – assylias 2015-02-24 15:22:55

+0

@RaviThapliyal編輯 – AndreaNobili 2015-02-24 15:34:06

+0

@assylias編輯在我原來的職位結束插入錯誤的末尾插入錯誤:Logger.getLogger()你不要實例Logger類直。 – AndreaNobili 2015-02-24 15:34:54

回答

2

,然後在你的代碼編寫,例如:

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

編輯在我原來的職位結束插入錯誤 – AndreaNobili 2015-02-24 15:35:22

+1

@AndreaNobili使用'Logger.getLogger(Mailer.class)''而不是新的記錄器(...)'。 – Everv0id 2015-02-24 15:41:53

相關問題