Log4j从Neo4j服务器扩展登录

Lua*_*nne 3 log4j neo4j

我的非托管服务器扩展使用slf4j-log4j日志记录.当log4j.properties与扩展捆绑在一起时,日志记录工作正常.当它没有捆绑但是放在Neo4j的conf目录中时,我假设了

wrapper.java.additional=-Dlog4j.configuration=file:conf/log4j.properties
Run Code Online (Sandbox Code Playgroud)

来自neo4j-wrapper.conf将确保它被拿起.但是,我没有看到正在创建的日志文件或正在使用的指定日志级别.配置文件必须正确,因为它与扩展捆绑在一起时按设计工作.添加-Dlog4j.debug在其他职位建议增加没有进一步的信息.

有没有我错过的东西?我在Mac OS X上使用Neo4j 2.1.3

Ste*_*ter 5

Neo4j内部装有logback罐子,因此每次使用日志slf4j都将由logback处理.

我从非托管扩展登录的方法如下:

在非托管扩展中设置您的记录器具有依赖性slf4j-api(不要添加和其他slf4j实现到类路径)并使用这样的记录器:

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

 private static final Logger logger = LoggerFactory.getLogger(com.mycompany.UnmanagedExtension.class);
Run Code Online (Sandbox Code Playgroud)

最后修改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>
Run Code Online (Sandbox Code Playgroud)

conf/custom-logback.xml包含Neo4j的内部logback配置,请参阅https://github.com/neo4j/neo4j/blob/master/community/kernel/src/main/resources/neo4j-logback.xml