我正在使用logging
+ lttng
作为日志记录和跟踪框架,但是我无法使用lttng view
查看日志,它只是为我提供了日志的路径
我正在使用以下示例
Python示例
import lttngust
import logging
import time
def example():
logging.basicConfig()
logger = logging.getLogger('my-logger')
while True:
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
time.sleep(1)
if __name__ == '__main__':
example()
执行以下命令以启用lttng
步骤
lttng create
lttng enable-event --python my-logger
lttng start
运行Python脚本:
python test.py
停止跟踪并检查记录的事件:
lttng stop
lttng view //Not working as expected
在运行lttng视图上
vinay@root:~/lttng-traces/auto-20180917-121542/ust/uid/1003/64-bit/index$ lttng view
Trace directory: /home/vinay/lttng-traces/auto-20180917-121542
答案 0 :(得分:1)
您在注释中提到您正在lttng-tools 2.10.2上运行。 此版本受Python跟踪代理的错误影响。
当用户不属于tracing
组且 lttng会话守护程序以root身份运行时,该错误使得无法跟踪python应用程序。通常仅对于内核跟踪存在此要求。您遇到此错误是因为systemd在启动时启动了根lttng会话守护程序。
您可以通过以root用户身份登录并杀死root lttng会话守护程序,并以您自己的非root用户身份运行会话守护程序,从而轻松地测试是否确实是此错误:
以根用户身份:
pkill lttng-sessiond
作为您的非root用户:
lttng-sessiond -d
lttng create
lttng enable-event --python my-logger
lttng start
python test.py
...
<ctrl + c>
lttng stop
lttng view
如果您现在收到事件,那么您将受到该错误的影响。 该错误已在2.10分支中修复,并将被安装到Ubuntu软件包中。
在软件包更新之前,您可以将自己添加到tracing
组中,或者阻止systemd在启动时启动根lttng会话守护程序。