Java 如何查看Opendaylight项目中的调试日志

Java 如何查看Opendaylight项目中的调试日志,java,debugging,opendaylight,Java,Debugging,Opendaylight,我使用MD-SAL启动原型创建了一个项目,并添加了一些调试日志来检查代码。项目已成功编译并安装。但是在运行karaf和log:display之后,我似乎找不到我输入的任何日志。 我刚刚使用ODL,可能遗漏了一些东西。有人能帮我搜索我需要的日志吗? 例如,我在某个地方读到,我们可以对特定的bundle进行setLogLevelorg.opendaylight.bundlename跟踪或调试,但在我的例子中,启动原型创建了一个包含其他几个api、features、karaf和impl文件夹的文件夹。

我使用MD-SAL启动原型创建了一个项目,并添加了一些调试日志来检查代码。项目已成功编译并安装。但是在运行karaf和log:display之后,我似乎找不到我输入的任何日志。 我刚刚使用ODL,可能遗漏了一些东西。有人能帮我搜索我需要的日志吗? 例如,我在某个地方读到,我们可以对特定的bundle进行
setLogLevelorg.opendaylight.bundlename跟踪或调试
,但在我的例子中,启动原型创建了一个包含其他几个api、features、karaf和impl文件夹的文件夹。我主要在impl文件夹中添加了代码并创建了不同的类,这些类中的每个类都有我想要检查的调试日志,那么在这种情况下如何指定包名称和路径呢?我应该在哪里使用该代码?因为在karaf控制台中,我只能执行
log:list、log:display DEBUG
等操作。 如果这是一个令人困惑的问题,我很抱歉,但如果有任何帮助,我将不胜感激


谢谢

它不是使用set log level命令指定的捆绑包名称,而是完全限定的Java包或类名。您也可以直接编辑etc/org.ops4j.pax.logging.cfg来设置包/类的日志级别,例如:

package org.opendaylight.mypackage; public class MyClass { private static final Logger LOG = LoggerFactory.getLogger(MyClass.class); ... }
log4j.logger.org.opendaylight.mypackage=DEBUG

在代码中,可以为每个类创建记录器实例,例如:

package org.opendaylight.mypackage; public class MyClass { private static final Logger LOG = LoggerFactory.getLogger(MyClass.class); ... } 包org.opendaylight.mypackage; 公共类MyClass{ 私有静态最终记录器LOG=LoggerFactory.getLogger(MyClass.class); ... }
日志输出转到data/Log/karaf.Log。

您可以从karaf CLI执行以下命令

  • 为特定包设置日志级别

    log:set debug <your package name>