Logging + Lttng框架日志不可用

问题描述 投票:0回答:1

我使用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
python logging tracing lttng
1个回答
1
投票

您在评论中提到您在lttng-tools 2.10.2上运行。此版本受Python跟踪代理的错误影响。

当用户不是tracing组的一部分并且lttng会话守护程序以root身份运行时,该错误使得无法跟踪python应用程序。此要求通常仅适用于内核跟踪。您遇到此错误是因为systemd在启动时启动了根lttng会话守护程序。

您可以通过以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会话守护程序。

© www.soinside.com 2019 - 2024. All rights reserved.