本机login登陆日志可以直接使用printf输出到终端上,然后无论ssh登陆在登陆成功之前是无法将日志显示在终端上的,而直接fopen一个文件却返回失败,因此需要一种记录日志的机制。
1.说明
普通用户进程、Pam模块可以使用syslog记录日志。
- 普通用户进程默认输出到LOG_USER终端,可以通过调用openlog设置syslog对应的日志输出设备终端。
- pam模块对应的日志终端为LOG_AUTHPRIV,日志输出到/var/log/secure
2.日志调用
/* * 日志查看 tail -f /var/log/message */ #include <syslog.h> int main(int argc, char *argv[]) { //openlog("mmmmmmmyyyyyyyyyy", LOG_CONS|LOG_PID, LOG_USER); // 默认输出设备是LOG_USER, 不修改输出设备可以不调用openlog(),在调用syslog时自动调用 openlog(默认参数) syslog(LOG_ERR, "hhhhhhhh===%d", 998); //closelog(); 也可以不调用 }
2.日志配置
日志配置可以修改,也可以使用默认配置
cat /etc/rsyslog.conf有这样的默认配置