don*_*llo 3 logs buffer daemontools
我正在使用daemontools来监视进程及其输出日志。我正在使用multilog将日志写入磁盘。
日志的运行脚本是:
#!/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
Run Code Online (Sandbox Code Playgroud)
被监控的进程也会将输出写入 stderr。因此,在该进程的运行脚本中,有以下几行将 stderr 重定向到 stdout:
exec 2>&1
exec ./my_process
Run Code Online (Sandbox Code Playgroud)
然而,在拖尾日志文件时,我看到数百行输出突然出现(受监控的进程每隔几秒写入一次输出),并且日志行上的时间戳在亚微秒级别上有所不同。我从过程的性质知道日志行之间的时间差异不是那么小。显然 multilog 正在缓冲输出,然后在准备写入文件时添加时间戳。我希望时间戳能更准确地反映输出行的时间。如何解决这个问题?
| 归档时间: |
|
| 查看次数: |
3709 次 |
| 最近记录: |