首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将自定义logback配置添加到neo4j非托管扩展中

将自定义logback配置添加到neo4j非托管扩展中
EN

Stack Overflow用户
提问于 2014-03-17 08:02:36
回答 3查看 982关注 0票数 1

我希望为我的非托管扩展启用日志记录,到目前为止,它也很好(至少在我的单元测试中)。所以我写了一个logback.xml,并将它包含在我的包中。当我使用动态创建的db运行单元测试(功能测试)时,一切正常工作,也就是说,我的日志定义得到了识别,日志工作也如愿以偿。以下是日志的摘录,您可以看到不同的日志将被注册:

代码语言:javascript
复制
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.

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

代码语言:javascript
复制
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

因此,我认为既不会注册来自neo4j的logback配置的设置,也不会注册来自myproject的logback配置的设置和回退配置(conf/logging.properties (?))都会被利用。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-17 09:50:29

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

票数 3
EN

Stack Overflow用户

发布于 2014-03-17 10:37:50

这就是我如何让它工作的方式:

  1. 从独立安装的新4j服务器jar中删除logback.xml (例如,位于/usr/share/nee4j/system/lib/)
  2. 把你的logback.xml放在$NEO4J_HOME/conf/
  3. 确保您只在您的logback.xml独立安装->的整个类路径上部署了一个->,您可以通过查看$ neo4j _HOME/data/ log /sole.log上的日志文件来检查这一点。
  4. 您可以在$NEO4J_HOME/conf/将来自logback.xml的logback配置包含在新4j服务器包中到您的logback.xml中。

第3和第4点是可选的

票数 0
EN

Stack Overflow用户

发布于 2014-03-18 07:39:33

另一个可能是重命名您的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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22449301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档