2015-05-27 29 views
2

我是CQ5的新手。我開始在CQ中開發我的第一個項目,並且我想編寫項目組件,服務和servlet(捆綁包)中的任何異常和調試信息以便在crx-repo(... \ crx-quickstart \ logs)中記錄文件。如何在Adobe CQ5項目中使用和配置logback?

我想在我的項目中使用slf4j和logback實現。

我嘗試下面的步驟:

  1. 添加依賴於項目的pom.xml

    <dependency> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-api</artifactId> 
        <version>1.7.7</version> 
    </dependency> 
    
    <dependency> 
        <groupId>ch.qos.logback</groupId> 
        <artifactId>logback-classic</artifactId> 
        <version>1.1.3</version> 
    </dependency> 
    
    <dependency> 
        <groupId>ch.qos.logback</groupId> 
        <artifactId>logback-core</artifactId> 
        <version>1.1.3</version> 
    </dependency> 
    
  2. 添加與配置(記錄儀和追加程序),以 項目的包資源包logback.xml。

  3. 嘗試在服務實例的新記錄(例如):

    import org.slf4j.Logger; 
    import org.slf4j.LoggerFactory; 
    ..... 
    
    @Component(metatype = true, label = "Some", description = "Sone service" , 
    immediate = true) 
    @Service(SomeService.class) 
    
    public class SomeService {   
    
        private final Logger logger = LoggerFactory.getLogger(MyDao.class); 
        ..... 
        logger.debug("debug"); 
        logger.info("info"); 
        logger.error("error"); 
        ...... 
        } 
    

這些步驟(這是不行的,當然)我舉了一個例子,因爲我不知道如何真正在Adobe CQ5中使用logback。 有什麼建議嗎?我會很感激任何幫助!

回答

0

CQ使用其默認配置登錄到crx-quickstart/logs/error.log,底層Apache Sling框架提供必要的橋接,因此您只需獲取slf4j Logger並寫入該橋。

您的SomeService示例的Java代碼看起來正確,但在pom中,您只需要slf4j-api依賴項,範圍爲provided,因爲API運行時提供了API和實現包。

您也可以看看Sling樣本,如Slingbucks,如果安裝在默認的CQ實例上,它將記錄到error.log

相關問題