我使用MD-SAL Startup Archetype创建了一个项目,并添加了一些调试日志来检查代码。该项目已成功编译和安装。但是在运行karaf和log:display之后,我似乎无法找到我输入的任何日志。
我是使用ODL的新手,可能缺少一些东西。有人可以帮助我如何搜索我需要的日志吗?
例如,我读到某个地方我们可以为特定的包做setLogLevelorg.opendaylight.bundlename TRACE or DEBUG
但在我的情况下,启动原型创建了一个文件夹,其中包含其他几个来自api,features,karaf到impl文件夹的文件夹。我主要在impl文件夹中添加了代码并创建了不同的类,这些类中的每一个都有我想检查的调试日志,所以如何在这种情况下指定包名称和路径?我应该在哪里使用该代码?因为在karaf控制台中我只能log:list, log:display DEBUG
等。
对不起,如果这是一个令人困惑的问题,我将不胜感激。
谢谢!
答案 0 :(得分:3)
它不是您使用set log level命令指定的包名称,而是完全限定的Java包或类名称。您也可以直接编辑 etc / org.ops4j.pax.logging.cfg 来设置包/类的日志级别,例如:
log4j.logger.org.opendaylight.mypackage=DEBUG
在代码中,您可以为每个类创建Logger实例,例如:
package org.opendaylight.mypackage; public class MyClass { private static final Logger LOG = LoggerFactory.getLogger(MyClass.class); ... }
日志输出转到 data / log / karaf.log 。
答案 1 :(得分:2)
您可以在karaf CLI中执行以下命令。
设置特定包的日志级别。
log:set debug <your package name>
查看日志
log:tail