Apache karaf4.2.3-每个捆绑软件的单独日志文件

时间:2019-03-28 09:44:00

标签: log4j2 apache-karaf

如何使用pax日志记录为karaf-4.2.3中部署的每个捆绑创建单独的日志文件,该日志文件具有log4j2本机样式配置?

我尝试使用路由追加程序,但没有结果。

除了将每个捆绑日志记录在单独的日志文件中以便于调试之外,我都是例外。

3 个答案:

答案 0 :(得分:1)

只需查看每个Karaf发行版随附的official Log4j 2.x configuration,并查看带有注释的“路由”部分。

例如我在我的一个项目中使用了以下内容:

display: block

那显然对我有用。我什至不会考虑OSGi中的静态配置! ;-)

答案 1 :(得分:0)

我不知道该怎么做。但是您可以做的是根据根软件包名称为每个模块创建一个单独的配置

log4j2.logger.xy.name = com.company.module.xy
log4j2.logger.xy.level = INFO
log4j2.logger.xy.additivity = false
log4j2.logger.xy.appenderRef.inovel.ref = XyFile

log4j2.logger.zz.name = com.company.module.zz
log4j2.logger.zz.level = INFO
log4j2.logger.zz.additivity = false
log4j2.logger.zz.appenderRef.inovel.ref = ZzFile

log4j2.logger.keycloak.name = org.keycloak
log4j2.logger.keycloak.level = INFO
log4j2.logger.keycloak.additivity = false
log4j2.logger.keycloak.appenderRef.keycloak.ref = KeycloakFile

裁判看起来像

# keyclok file appender
log4j2.appender.keycloak.type = RollingRandomAccessFile
log4j2.appender.keycloak.name = KeycloakFile
log4j2.appender.keycloak.fileName = ${karaf.data}/log/keycloak.log
log4j2.appender.keycloak.filePattern = ${karaf.data}/log/keycloak.log.%i
log4j2.appender.keycloak.append = true
log4j2.appender.keycloak.layout.type = PatternLayout
log4j2.appender.keycloak.layout.pattern = %d{ISO8601}
log4j2.appender.keycloak.policies.type = Policies
log4j2.appender.keycloak.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.keycloak.policies.size.size = 8MB
log4j2.appender.keycloak.strategy.type = DefaultRolloverStrategy
log4j2.appender.keycloak.strategy.max = 10

这是很多手工工作。所以也许有人想出了自动配置

真诚的

答案 2 :(得分:0)

log4j 配置注释部分在下面的链接
https://github.com/apache/karaf/blob/master/assemblies/features/base/src/main/resources/resources/etc/org.ops4j.pax.logging.cfg

会将每个包的消息记录到一个单独的文件中,但默认情况下,karaf 带有多个包,这将为每个包生成一个日志文件。会生成这么多日志文件。

如何为用户部署在部署文件夹中的特定包完成