gpt4 book ai didi

linux - 如何跟踪写入同一日志文件的多个线程

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:03 25 4
gpt4 key购买 nike

我有一个使用 12 个线程的 python 进程。所有线程写入同一个日志文件。

我正在使用 tail -f 跟踪输出,但如您所想,如果您想跟踪单个进程,则输出很难阅读。

multitail跟踪多个日志文件。它通过 sectioning the screen into nr-of-logfiles 做到这一点然后在一个窗口中显示每个日志。

如何跟踪写入同一日志文件的多个线程?

最佳答案

为此,我使用 sedstdbuf(...和 ​​bash ;)

tail -f mylogfile | sed -une /mythread/p

最简单。

  • sed -u -> --无缓冲

    -u, --unbuffered
    load minimal amounts of data from the input files and flush the output buffers more often
  • sed -n -> --quiet, --silent

    -n, --quiet, --silent
    suppress automatic printing of pattern space

多个:

tail -f mylogfile |
stdbuf -i0 -o0 tee >(
sed -une /thread 1/p >file1
) >(
sed -une /thread 2/p >file2
) >(
sed -une '/thread 3/s/.*/INSERT INTO l_t_3 VALUES (DEFAULT,\o47&\o47);/p' |
someSqlclient
) |
sed -une /last thread/p >lastfile

当然 file1 和其他可以是 fifo, file, unnamed fifo 和通过 socat nc,还有很多其他的东西......

关于linux - 如何跟踪写入同一日志文件的多个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58554003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com