首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Daemontools多日志丢失日志行时间信息。怎么修呢?

Daemontools多日志丢失日志行时间信息。怎么修呢?
EN

Unix & Linux用户
提问于 2013-03-15 13:47:20
回答 1查看 4.9K关注 0票数 4

我使用守护进程工具来监视进程及其输出日志。我使用多测井将日志写入磁盘。

日志的运行脚本是:

代码语言:javascript
复制
#!/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin
cd /usr/local/script_dir
exec multilog t s16777215 n50 '!tai64nlocal' '!/bin/gzip' /var/log/script_log

正在监视的进程也会将输出写入stderr。因此,在流程的运行脚本中,有以下行将stderr重定向到stdout:

代码语言:javascript
复制
exec 2>&1
exec ./my_process

然而,在跟踪日志文件时,我看到数百行输出以突发形式出现(被监视的进程每隔几秒钟写入输出),日志行上的时间戳在亚微秒级别上有所不同。我从过程的本质上知道,日志线之间的时间差并不是那么小。显然,multilog是在缓冲输出,然后在准备写入文件时添加时间戳。我希望时间戳能更接近地反映出这条线的输出时间。怎么解决这个问题呢?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2013-03-23 00:09:42

正在监视的脚本是Python脚本。为了使所有标准流不被缓冲,我发现可以将-u选项传递给解释器。这解决了我案子中的问题。

票数 9
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/68059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档