我使用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发布于 2018-09-18 16:02:58
您在注释中提到您正在lttng 2.10.2上运行。此版本受Python跟踪代理的bug影响。
当用户不是tracing组和的一部分时,当lttng会话守护进程作为root运行时,bug使得无法跟踪python应用程序。这一要求通常只适用于内核跟踪。您遇到此错误是因为systemd在启动时启动根lttng会话守护进程。
您可以很容易地通过以root身份登录并杀死根lttng会话守护进程并以您自己的非根用户身份运行会话守护进程来测试是否确实是该错误:
作为根:
pkill lttng-sessiond作为非根用户:
lttng-sessiond -d
lttng create
lttng enable-event --python my-logger
lttng start
python test.py
...
<ctrl + c>
lttng stop
lttng view如果您现在收到了事件,那么您就会受到bug的影响。此bug已在2.10分支中修复,并将其应用到Ubuntu包中。
在更新包之前,您可以将自己添加到tracing组中,或者防止systemd在启动时启动根会话守护进程。
https://stackoverflow.com/questions/52365956
复制相似问题