linux – 当多个进程尝试写入同一个日志文件时,如何使用syslog来避免日志文件出现乱码?

当多个进程尝试写入相同的日志文件时,我想知道syslog的用法

for i in $var
do
some process >> logfile &
done
wait
最佳答案
你可以做

some process | logger &

生成进程并将其输出定向到syslog.请注意,默认设施将是“user”,默认级别为“notice”.您可以使用-p选项更改它们.

这没有问题的原因是进程不直接写入目标文件.他们将消息发送到syslog守护程序,该守护程序管理对相应文件的写入.据我所知,原子性是基于行的,即进程的每一行输出都会在没有干扰的情况下进入系统日志,但是多行消息可能会混入其他进程的行.

转载注明原文:linux – 当多个进程尝试写入同一个日志文件时,如何使用syslog来避免日志文件出现乱码? - 代码日志