提问者:小点点

将自定义登录配置添加到neo4j非托管扩展


我想为我的非托管扩展启用日志记录,到目前为止也很好(至少在我的单元测试中)。所以我写了一个logback. xml并将其包含在我的包中。当我使用将动态创建的数据库运行单元测试(功能测试)时,一切都很好,即我的日志定义得到了认可,日志记录按预期工作。以下是日志摘录,您可以看到不同的将被注册:

12:07:56,597 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/home/me/git/myproject/target/classes/logback.xml]
12:07:56,598 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs multiple times on the classpath.
12:07:56,598 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource  [logback.xml] occurs at [file:/home/me/git/myproject/target/classes/logback.xml]
12:07:56,598 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/home/me/.m2/repository/org/neo4j/app/neo4j-server/2.0.1/neo4j-server-2.0.1.jar!/logback.xml]
12:07:56,699 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
12:07:56,700 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
12:07:56,706 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FAT]
12:07:56,728 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:07:56,757 |-INFO in ch.qos.logback.core.FileAppender[FAT] - File property is set to [logs/myproject/trace/messages.log]
12:07:56,757 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
12:07:56,757 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FAD]
12:07:56,758 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:07:56,759 |-INFO in ch.qos.logback.core.FileAppender[FAD] - File property is set to [logs/myproject/debug/messages.log]
12:07:56,759 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
12:07:56,759 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FAI]
12:07:56,759 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:07:56,760 |-INFO in ch.qos.logback.core.FileAppender[FAI] - File property is set to [logs/myproject/info/messages.log]
12:07:56,760 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
12:07:56,760 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FAW]
12:07:56,761 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:07:56,761 |-INFO in ch.qos.logback.core.FileAppender[FAW] - File property is set to [logs/myproject/warn/messages.log]
12:07:56,761 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
12:07:56,761 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FAE]
12:07:56,762 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:07:56,762 |-INFO in ch.qos.logback.core.FileAppender[FAE] - File property is set to [logs/myproject/error/messages.log]
12:07:56,762 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
12:07:56,763 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FAF]
12:07:56,763 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:07:56,764 |-INFO in ch.qos.logback.core.FileAppender[FAF] - File property is set to [logs/myproject/fatal/messages.log]
12:07:56,764 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
12:07:56,764 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DEFAULT]
12:07:56,765 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:07:56,765 |-INFO in ch.qos.logback.core.FileAppender[DEFAULT] - File property is set to [logs/default/info/messages.log]
12:07:56,766 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FAT] to Logger[my.package]
12:07:56,766 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FAD] to Logger[my.package]
12:07:56,766 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FAI] to Logger[my.package]
12:07:56,766 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FAW] to Logger[my.package]
12:07:56,766 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FAE] to Logger[my.package]
12:07:56,766 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FAF] to Logger[my.package]
12:07:56,766 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
12:07:56,766 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [DEFAULT] to Logger[ROOT]
12:07:56,766 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.

但是,当我将扩展部署到我的独立服务器时,我在sole. log中获得了以下日志条目:

12:05:59,695 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/usr/share/neo4j/system/lib/neo4j-server-2.0.1.jar!/logback.xml]
12:05:59,696 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs multiple times on the classpath.
12:05:59,696 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/usr/share/neo4j/system/lib/neo4j-server-2.0.1.jar!/logback.xml]
12:05:59,696 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/usr/share/neo4j/plugins/myproject.jar!/logback.xml]
12:05:59,710 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@542ebbbd - URL [jar:file:/usr/share/neo4j/system/lib/neo4j-server-2.0.1.jar!/logback.xml] is not of type file
12:05:59,803 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
12:05:59,806 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
12:05:59,810 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
12:05:59,825 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:05:59,861 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
12:05:59,861 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
12:05:59,861 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
12:05:59,862 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@4827a078 - Registering current configuration as safe fallback point

=

现在我的问题是:是否可以通过非托管扩展集成自己的登录配置,或者我需要调整默认logging.properties?


共3个答案

匿名用户

您是否尝试在conf/Custent-logback. xml中配置您的日志记录?Neo4j捆绑了一个包含这个的logback.xml

匿名用户

我是这样让它工作的:

  1. 从neo4j独立安装的neo4j-serverjar删除logback. xml(它位于,例如, /usr/share/neo4j/system/lib/)
  2. 将您的logback. xml放在$NEO4J_HOME/conf/
  3. 确保您在neo4j独立安装的整个类路径上只部署了一个logback. xml-

第3点和第4点是可选的

匿名用户

另一种方法可能是重命名您的logback. xml

这是logback尝试配置自身所遵循的初始化步骤:

  1. Logback尝试在类路径中找到一个名为logback. groovy的文件。
  2. 如果没有找到这样的文件,logback会尝试在类路径中找到一个名为logback-test. xml的文件。
  3. 如果没有找到这样的文件,它会检查类路径中的文件logback. xml
  4. 如果两个文件都没有找到,则logback使用BasicConfigurator自动配置自己,这将导致日志输出被定向到控制台。

如果您将文件重命名为logback-test. xml,则首选包含的logback.xml。这也是您将这些设置文件用于测试的方式。

唯一的缺点是,您不能再使用不同的logback-test. xml进行测试。

作为最后一个选项,您可以使用留档中提到的classpath参数,如果您附加了它:-Dlogback.配置文件=/path/to/config. xml