我想为我的非托管扩展启用日志记录,到目前为止工作也很好(至少在我的单元测试中)。所以我写了一个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.
但是,当我将扩展部署到我的独立服务器时,我在console.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
=>所以我认为来自neo4j的logback配置的设置和myproject的logback配置中的设置都不会被注册,并且将使用回退配置(conf / logging.properties(?))。
现在我的问题是:是否可以通过非托管扩展集成自己的logback配置,还是需要调整默认的logging.properties?
答案 0 :(得分:2)
您是否尝试在conf/custom-logback.xml
中配置登录? Neo4j捆绑了包含此内容的logback.xml
。
答案 1 :(得分:0)
以下是我如何运作的方式:
第3点和第4点是可选的
答案 2 :(得分:0)
另一种方法可能是重命名logback.xml
。
这是尝试自行配置时遵循的初始化步骤:
logback.groovy
的文件。logback-test.xml
。logback.xml
类路径。BasicConfigurator
将导致日志记录输出
指向控制台。如果将文件重命名为logback-test.xml
,则最好不要使用包含的logback.xml。这也是您将这些设置文件用于测试的方式。
唯一的缺点是,您不能再为测试使用不同的logback-test.xml
。
作为最后一个选项,你可以使用documentation中提到的classpath参数,如果你附上它:-Dlogback.configurationFile=/path/to/config.xml