我正在学习linux编程,并希望做到以下几点.我想创建一个像syslog一样工作的迷你记录器.我希望能够替换系统日志(不是在实践中,而只是为了了解每个级别的工作原理).
所以在我的代码中,我会写
#include "miniLogger.h" .... .... miniLogger(DEBUG, "sample debug message"); ---- ----
现在,我猜我需要某种守护进程来监听来自我的miniLogger的传入消息,而且我没有使用守护进程的经验.您能否指出我正确的方向,或者让我快速了解消息如何从我的API转移到可配置的目的地.我阅读了手册页,但我需要更多地概述API如何与守护进程通信.
syslogd通过/ dev/log侦听日志消息,这是一个unix域套接字.套接字是面向数据报的,这意味着协议类似于udp.
你的日志守护程序打开套接字,设置套接字服务器模式,以写模式打开日志文件,要求得到通知的信息包,安全地解析信息,并将其写入文件.在man 7 socket中描述了重要的系统调用socket io .要获得套接字上传入数据的通知,您可以使用epoll或select.