2014-09-04 129 views
3

我的非託管服務器擴展使用slf4j-log4j日誌記錄。當log4j.properties與擴展綁定在一起時,日誌工作正常。 時,它不是捆綁,而是放置在Neo4j的的conf目錄下,我認爲從Neo4j服務器擴展登錄Log4j

wrapper.java.additional=-Dlog4j.configuration=file:conf/log4j.properties 

neo4j-wrapper.conf將確保它的回升。 但是,我沒有看到正在創建的日誌文件或正在使用的指定日誌級別。 配置文件必須正確,因爲它與擴展綁定時按設計工作。 添加-Dlog4j.debug如其他帖子中所建議的添加沒有進一步的信息。

有什麼我錯過了嗎?我在Mac OS X上使用Neo4j 2.1.3

回答

4

Neo4j內部有logback罐子,因此每個使用slf4j的日誌都將通過logback進行處理。

我的伐木辦法從非託管擴展如下:

設置您的記錄器在非託管擴展對slf4j-api依賴(不添加等SLF4J實現到classpath),並使用類似的記錄這樣的:

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

private static final Logger logger = LoggerFactory.getLogger(com.mycompany.UnmanagedExtension.class); 

修改conf/custom-logback.xml和修改結尾:

<appender name="EXTENSIONLOG" class="ch.qos.logback.core.FileAppender"> 
     <file>extensions.log</file> 
     <encoder> 
      <pattern>%date{yyyy-MM-dd HH:mm:ss.SSSZ} %-5level [%logger{15}]: %message%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="com.mycompany" level="debug"> 
    <appender-ref ref="EXTENSIONLOG"/> 
    </logger> 

Neo4j的內部logback配置包含,請參閱https://github.com/neo4j/neo4j/blob/master/community/kernel/src/main/resources/neo4j-logback.xml

+0

非常感謝Stefan! – Luanne 2014-09-04 09:09:03

+0

斯蒂芬,很好的迴應。對於我們的非Java開發者,你能否通過修改告訴我們,我們是否正在更換默認的CONSOLE appender和logger,或者在修改後添加EXTENSIONLOG?提前致謝! – 2015-04-06 14:18:21