我将此捆绑包安装到CQ5.6.1
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.commons.log</artifactId>
<version>4.0.0</version>
</dependency>
它运作良好,我只对加性标志有问题。
如果我为特定包添加Apache Sling Logging Logger配置(org.apache.sling.commons.log.LogManager.factory),它将不会添加,因此它不会从父记录器继承配置
我正在使用外部logback.xml。
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<jmxConfigurator/>
<newRule pattern="*/configuration/osgi" actionClass="org.apache.sling.commons.log.logback.OsgiAction"/>
<newRule pattern="*/configuration/appender-ref-osgi" actionClass="org.apache.sling.commons.log.logback.OsgiAppenderRefAction"/>
<osgi/>
<appender name="syslog" class="net.logstash.logback.appender.LogstashSocketAppender">
<host>HOST</host>
<port>PORT</port>
</appender>
<logger name="com.my.package" level="INFO"/>
<root level="WARN">
<appender-ref ref="syslog" />
</root>
</configuration>
我也有一个OSGi配置:
org.apache.sling.commons.log.file="logs/other.log"
org.apache.sling.commons.log.level="debug"
org.apache.sling.commons.log.file.size="'.'yyyy-MM-dd"
org.apache.sling.commons.log.file.number=I"7"
org.apache.sling.commons.log.pattern="{0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}] {3} {5}"
org.apache.sling.commons.log.names="com.my.package.other"
但是来自com.my.package.other的日志永远不会进入系统日志。
如果我将此行添加到我的logback.xml:
<logger name="com.my.package.other" level="INFO"/>
然后在/ system / console / slinglog上我可以看到记录器com.my.package.other不是附加的。
那么如何使用org.apache.sling.commons.log.LogManager.factory配置的日志作为附加记录器呢?
提前致谢!
答案 0 :(得分:0)
不幸的是它无法在OSGi控制台上配置(没有字段),所以我必须在osgi:config node上配置它。
答案 1 :(得分:0)
“不幸的是,它无法在OSGi控制台上配置(无字段)。”
您无法通过Felix控制台设置隐藏属性。但是他们可以使用sling设置:OsgiConfig节点(http://sling.apache.org/site/jcr-installer-provider.html)