我正在阅读一些 syslog-ng 文档,在有关过滤器功能的部分,它说过滤器program()
匹配......
...通过使用正则表达式针对日志消息的程序名称字段来获取消息。
该文档还包括其他过滤功能的类似定义。
程序名称字段在日志消息中是如何设置的?是否有文档总结了各个字段?我在我的文档中找不到它(“syslog-ng 管理员指南”)。
答案1
程序名称字段由发送日志消息的应用程序设置。如果您出于某种原因想要覆盖此字段,则可以使用 syslog-ng 源定义中的 program_override() 选项。我不确定哪些 syslog-ng 版本支持此选项,但它肯定在 3.0 及更高版本中可用。
高血压
罗伯特
答案2
从man 3 syslog
:
(...)
#include <syslog.h>
void openlog(const char *ident, int option, int facility);
void syslog(int priority, const char *format, ...);
void closelog(void);
openlog() opens a connection to the system logger for a program.
The string pointed to by ident is prepended to every message,
and is typically set to the program name.
程序名称是使用系统日志功能在程序代码内部设置的。