编译生成可执行程序后,运行一次程序将向/var/log/message文件添加一行信息如下: Feb 12 08:48:38 localhost MySoftMark[702]: testmsg of Soft ‘./test.out’
openlog函数: 第一个参数ident将是一个标记,ident所表示的字符串将固定地加在每行日志的前面以标识这个日志,通常就写成当前程序的名称以作标记。 第二个参数option是下列值取与运算的结果:
选项 | 含义 |
---|---|
LOG_CONS | 直接写入系统控制台,如果有一个错误,同时发送到系统日志记录。 |
LOG_NDELAY | 立即打开连接(通常,打开连接时记录的第一条消息)。 |
LOG_NOWAIT | 不要等待子进程,因为其有可能在记录消息的时候就被创建了(GNU C库不创建子进程,所以该选项在Linux上没有影响。) |
LOG_ODELAY | 延迟连接的打开直到syslog函数调用。(这是默认情况下,需要没被指定的情况下。) |
LOG_PERROR | (不在SUSv3情况下)同时输出到stderr(标准错误文件)。 |
LOG_PID | 包括每个消息的PID。 |
第三个参数facility是用来指定记录消息程序的类型。它让指定的配置文件,将以不同的方式来处理来自不同方式的消息。 它的值可能为 LOG_KERN、LOG_USER、LOG_MAIL、LOG_DAEMON、LOG_AUTH、LOG_SYSLOG、LOG_LPR、LOG_NEWS、LOG_UUCP、LOG_CRON 或 LOG_AUTHPRIV。
选项 | 含义 |
---|---|
LOG_AUTH | 认证系统:login、su、getty等 |
LOG_AUTHPRIV | 同LOG_AUTH,但只登录到所选择的单个用户可读的文件中 |
LOG_CRON | cron守护进程 |
LOG_DAEMON | 其他系统守护进程,如routed |
LOG_FTP | 文件传输协议:ftpd、tftpd |
LOG_KERN | 内核产生的消息 |
LOG_LPR | 系统打印机缓冲池:lpr、lpd |
LOG_MAIL | 电子邮件系统 |
LOG_NEWS | 网络新闻系统 |
LOG_SYSLOG | 由syslogd(8)产生的内部消息 |
LOG_USER | 随机用户进程产生的消息 |
LOG_UUCP | UUCP子系统 |
LOG_LOCAL0~LOG_LOCAL7 | 为本地使用保留 |
Syslog为每个事件赋予几个不同的优先级:
选项 | 含义 |
---|---|
LOG_EMERG | 紧急情况 |
LOG_ALERT | 应该被立即改正的问题,如系统数据库破坏 |
LOG_CRIT | 重要情况,如硬盘错误 |
LOG_ERR | 错误 |
LOG_WARNING | 警告信息 |
LOG_NOTICE | 不是错误情况,但是可能需要处理 |
LOG_INFO | 情报信息 |
LOG_DEBUG | 包含情报的信息,通常旨在调试一个程序时使用 |
新闻热点
疑难解答