Linux 日志系统与事件处理深度解析
1. syslog 基础
syslog() 函数中的 option 参数可控制多种行为,如当 /dev/log 不可用时的处理方式,以及是否包含调用程序的 PID。option 是以下零个或多个选项的按位或:
- LOG_CONS:若无法写入 /dev/log,则将日志写入控制台。
- LOG_NDELAY:立即打开到 /dev/log 的套接字。
- LOG_ODELAY:等待第一条消息到来时再打开到 /dev/log 的套接字。
- LOG_PERROR:将日志同时写入标准错误和 /dev/log。
- LOG_PID:每条消息都包含 PID。
设施(facility)对应发送日志消息的程序类型。若未调用 openlog(),默认设施为 LOG_USER。syslog.h 中定义了 24 种标准设施,常见的如下:
| 设施名称 | 定义 | 说明 |
| ---- | ---- | ---- |
| LOG_KERN | (0<<3) | 内核消息 |
| LOG_USER | (1<<3) | 随机用户级消息 |
| LOG_MAIL | (2<<3) | 邮件系统 |
| LOG_DAEMON | (3<<3) | 系统守护进程 |
| LOG_AUTH | (4<<3) | 安全/授权消息 |
| LOG_SYSLOG | (5<<3) | 由 syslogd 生成的消息 |
| LOG_LPR | (6<<3) | 行式打印机子
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



