2017-07-27 80 views
0

我在Tomcat上使用Mark W. Shead的10分鐘演示(鏈接從here可見),它工作正常。直接鏈接到源代碼是here掛毯5,登錄不是頁面

我想把一些日誌記錄到不是頁面類的類。例如,.services.AppModule類。

在掛毯文檔它有一個頁面類像這樣的例子:

import org.apache.tapestry5.ioc.annotations.Inject; 

public class MyPage 
{ 
    @Inject 
    private Logger logger; 

    void onSuccessFromForm() 
    { 
     logger.info("Changes saved successfully"); 
    } 

但我不能得到這對其他類的工作,喜歡的AppModule。 當我嘗試使用日誌時,出現空指針異常。

我也試過這樣:

@Inject 
public static Logger logger = LoggerFactory.getLogger(AppModule.class); 

此運行,但我沒有得到任何消息。

任何想法?謝謝!

+0

@Kohei TAMURA感謝您清理我的問題。我無法得到它爲我工作,所以我說:「f - 它,無論如何發佈的問題,也許有人會幫助。 – ssimm

+0

你能告訴我們更多的細節?eg什麼注入你進口彈簧或掛毯? – LakiGeri

+0

@LakiGeri我使用Tapestry注入我在問題中添加了源代碼的鏈接(而不是鏈接的鏈接)除了這個問題,我沒有對此代碼進行任何修改 – ssimm

回答

1

你應該試試這個:

public static Logger logger = LoggerFactory.getLogger(AppModule.class); 

,因爲注入的,我不應該初始化記錄器,或者你初始化記錄器沒有注入

我認爲這個問題是記錄器沒有定義在春季或某個地方,這就是爲什麼掛毯不能只注入空引用。如果你想注入記錄器,而不是創建它,你應該知道,爲什麼tapestry-project不會啓動記錄器。

+0

我喜歡「tapestry-project init logger 「想法:你能在你的答案中加入一些代碼或僞代碼嗎?謝謝! – ssimm

+0

第一個問題,你是否做了log4j屬性文件? – LakiGeri

+0

老實說,我不知道是什麼原因導致這個問題..我從來沒有遇到過這樣的問題,我只是給你一個建議,我會怎麼做 – LakiGeri