ApacheKaraf/Felix无法记录System.out.println
创始人
2024-09-06 05:00:29
0

在OSGi容器(如Apache Karaf / Felix)中,System.out.println语句的输出不能直接传递到日志记录器中。然而,我们可以通过使用LogService来手动记录日志并将输出发送到日志记录器。

以下是使用LogService记录日志的示例:

首先,我们需要在项目中添加以下依赖项:

org.osgi org.osgi.service.log 1.5.0

然后,在类中,我们需要通过LogService获取一个Logger实例,并将System.out.println语句替换为logger.log方法调用。

例如:

import org.osgi.service.log.LogService;

public class MyClass { private LogService log;

public void setLog(LogService log) {
    this.log = log;
}

public void myMethod() {
    log.log(LogService.LOG_INFO, "This is a log message.");
}

}

在Karaf / Felix中,我们可以通过配置LogService实现输出的转发。在Karaf / Felix的etc文件夹中,我们可以添加一个文件(如log.properties),并在其中添加以下内容:

log4j.logger.com.example=INFO, myFile log4j.appender.myFile=org.apache.log4j.FileAppender log4j.appender.myFile.layout=org.apache.log4j.PatternLayout log4j.appender.myFile.layout.ConversionPattern=%d [%t] %-5p %c - %m%n log4j.appender.myFile.file=${karaf.data}/myLogFile.log

这将仅在应用程序中添加为com.example的logger添加日志,并将日志记录到名为myLogFile.log的文件中。

在这种情况下,我们需要添加log4j依赖项,如下所示:

log4j log4j 1.2.17

相关内容

热门资讯

四分钟了解!哈局十三张,大赢家... 四分钟了解!哈局十三张,大赢家跑得快辅助,分享教程(有挂脚本)1、大赢家跑得快辅助系统规律教程、大赢...
8分钟了解!星星武汉麻将胡牌技... 8分钟了解!星星武汉麻将胡牌技巧,赣牌圈开挂是真的吗,科技教程(有挂揭秘)1、进入游戏-大厅左侧-新...
4分钟了解!菠萝德州app有挂... 4分钟了解!菠萝德州app有挂吗,新玉海楼茶苑吗,必胜教程(有挂神器)1、在菠萝德州app有挂吗ai...
6分钟了解!微友麻将,浙江游戏... 6分钟了解!微友麻将,浙江游戏大厅有猫腻吗,透视教程(有挂解说)亲,关键说明,浙江游戏大厅有猫腻吗赛...
一分钟了解!斗棋红中胡牌有没有... 一分钟了解!斗棋红中胡牌有没有什么规律,开心十三张有没有挂,2025版教程(有挂技巧);暗藏猫腻,小...
2分钟了解!琼崖海南麻将怎么提... 2分钟了解!琼崖海南麻将怎么提高胜率,福建天天开心王国辅助器,揭秘教程(有挂工具)一、琼崖海南麻将怎...
八分钟了解!乐乐游戏辅助器,众... 八分钟了解!乐乐游戏辅助器,众乐联盟有挂吗,可靠教程(有挂透视)1、全新机制【众乐联盟有挂吗软件透明...
一分钟了解!雀神麻将辅牌器购买... 一分钟了解!雀神麻将辅牌器购买,微信随意玩9人拼三张辅助器,实用技巧(有挂秘籍)1、用户打开应用后不...
二分钟了解!新华棋牌有没有挂,... 二分钟了解!新华棋牌有没有挂,打小闲川南棋牌为什么总是输,揭秘教程(有挂软件)暗藏猫腻,小编详细说明...
三分钟了解!汇友手游外 挂,边... 三分钟了解!汇友手游外 挂,边锋干瞪眼外挂效果,必备教程(有挂软件)进入游戏-大厅左侧-新手福利-激...