Syslog处理程序是服务,不是文件
试图为syslog指定logfile时,您似乎感到困惑。在
引用维基百科:Syslog is a standard for computer message logging. It permits separation of the software that generates messages from the system that stores them and the software that reports and analyzes them.
由于syslog是一种服务,它自己决定如何处理日志记录。这就是为什么您只能说出syslog服务的地址(比如默认端口上的localhost),但是没有机会从您的(分离的)应用程序中控制更多。在
在SysLog端,有一个配置,用于控制日志条目的最终位置,但这超出了日志处理程序的控制范围。在
如果省略address,它将默认与localhost和默认syslog端口通信。在这种情况下,您很可能会在/var/log/syslog文件中找到日志记录。在
将日志记录从另一个日志转发到syslog
如果某个文件中有另一个日志,并且要将其发送到syslog,则必须:解析日志文件并查找日志记录
将日志记录发送到syslog
但是,这可能会导致日志记录的时间戳问题,因为通常创建的时间是在创建日志记录时自动导出的。但这是有可能解决的。在
结论
不要期望Python中的记录器决定syslog写入日志记录的文件。必须在syslog级别配置,而不是在应用程序中配置。在
如果你从另一个源直接管理它,那么它就是最好的。如果不能这样做,则必须解析日志文件并将日志记录重新发送到syslog处理程序。在这里,您必须解决日志记录中时间戳的详细信息。在