问题描述
||
我正在尝试合并来自多个主机的多个日志文件。我要为每个要遵循的日志记录ѭ0。
在日志收集器上,我正在做
socat -u UNIX-RECV:/tmp/socket -
我的问题是日志条目有时会重叠,因为socat一次不写一行,而是一次写一个缓冲区。
有什么办法可以使其一次写一行?
解决方法
尝试使用伪终端来缓冲socat的写行:
- socat -u EXEC:\'follow_log_cmd\' UNIX-SENDTO:/tmp/socket
+ socat -u EXEC:\'follow_log_cmd\',pty,ctty UNIX-SENDTO:/tmp/socket
另请参阅:https://stackoverflow.com/questions/1000674/turn-off-buffering-in-pipe