我正在执行用于登录 Lttng 跟踪会话的 java 示例。为此,我正在使用 lttng-ust-jul 和 java 日志库。
我遵循了这里给出的所有步骤:lttng java tutorial 但是lttng 视图仍然没有输出任何内容.. 意味着没有任何东西被跟踪会话文件。
以下是我遵循的详细步骤及其各自的输出:
测试.Java:
import java.util.logging.Logger;
import java.util.logging.Level;
import org.lttng.ust.agent.LTTngAgent;
public class Test
{
private static final int answer = 42;
public static void main(String[] argv) throws Exception
{
// create a logger
Logger logger = Logger.getLogger("jello");
// call this as soon as possible (before logging)
LTTngAgent lttngAgent = LTTngAgent.getLTTngAgent();
logger.setLevel(Level.FINEST);
// log at will!
logger.info("some info");
logger.warning("some warning");
Thread.sleep(500);
logger.finer("finer information; the answer is " + answer);
Thread.sleep(123);
logger.severe("error!");
// not mandatory, but cleaner
lttngAgent.dispose();
}
}
命令:
lttng 创建新会话
Session newSession created.
Traces will be written in /home/XXX/lttng-traces/newSession-20160308-005717
lttng 启用事件 -j -a
All JUL events are enabled in channel channel0
开始
Tracing started for session newSession
javac -cp /usr/share/java/liblttng-ust-agent.jar Test.java
java -cp /usr/share/java/liblttng-ust-agent.jar:. 测试
Mar 08, 2016 12:58:54 AM Test main
INFO: some info
Mar 08, 2016 12:58:54 AM Test main
WARNING: some warning
Mar 08, 2016 12:58:55 AM Test main
SEVERE: error!
停止
Waiting for data availability.
Tracing stopped for session newSession
观点
Trace directory: /home/XXX/lttng-traces/newSession-20160308-005717
“lttng view”命令的期望输出应该类似于
[22:46:14.940125765] (+0.000004944) XXX : { cpu_id = 8 }, { my_string_field = "some info" }
[22:46:14.940131743] (+0.000005978) XXX : { cpu_id = 8 }, { my_string_field = "some warning" }
...
我也从root用户尝试过..因此可以排除用户无权写入文件的可能性。
此外,C++ 示例运行良好,即。样本能够追踪数据。所以我们甚至可以排除lttng配置错误的可能性。
Machine Configuration:
Ubuntu 15.04
lttng version - 2.7
我怎样才能进一步用 jul 调试这个问题?