在C语言中使用syslog打印日志到日志文件

参见 《unix 环境高级编程》第13 章 精灵进程

Syslog为每个事件赋予几个不同的优先级:

LOG_EMERG——紧急情况 
LOG_ALERT——应该被立即改正的问题,如系统数据库破坏
LOG_CRIT——重要情况,如硬盘错误
LOG_ERR——错误
LOG_WARNING——警告信息
LOG_NOTICE——不是错误情况,但是可能需要处理
LOG_INFO——情报信息
LOG_DEBUG——包含情报的信息,通常旨在调试一个程序时使用
#include<stdio.h>
#include<stdlib.h>
#include <syslog.h>

syslog(LOG_INFO, "hello %s","woring");
syslog(LOG_ERR, "hello %s","test");

范例:

#include<stdio.h>
#include<stdlib.h>
#include <syslog.h>

void main(void)
{
    for(int i=0;i<3;i++){
    syslog(LOG_USER|LOG_EMERG,"syslog programming test %d times/n", i);
  }
}

➜ c git:(master) ✗ gcc logtest.c -std=c99
➜ c git:(master) ✗ ./a.out

检验:

tail -f /var/log/syslog

Mar 6 17:37:45 brian a.out: syslog programming test 0 times/n
Mar 6 17:37:45 brian a.out: syslog programming test 1 times/n
Mar 6 17:37:45 briana.out: syslog programming test 2 times/n

Ubuntu:
/ect/rsyslog.conf
tail -f /var/log/syslog

Other linux:
/etc/syslog.conf
/etc/syslog-ng/syslog-ng.conf
tail -f /var/log/messages

参考:
c语言库函数syslog--将信息记录至系统日志文件
https://blog.csdn.net/jiangxinyu/article/details/1473356

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值