微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux syslogger如何工作?

我正在学习linux编程,并希望做到以下几点.我想创建一个像syslog一样工作的迷你记录器.我希望能够替换系统日志(不是在实践中,而只是为了了解每个级别的工作原理).

所以在我的代码中,我会写

#include "miniLogger.h"

....
....
miniLogger(DEBUG,"sample debug message");

----
----

现在,我猜我需要某种守护进程来监听来自我的miniLogger的传入消息,而且我没有使用守护进程的经验.您能否指出我正确的方向,或者让我快速了解消息如何从我的API转移到可配置的目的地.
我阅读了手册页,但我需要更多地概述API如何与守护进程通信.

最佳答案
syslogd通过/ dev / log侦听日志消息,这是一个unix域套接字.套接字是面向数据报的,这意味着协议类似于udp.

您的日志后台程序应该打开套接字,将套接字设置为服务器模式,以写入模式打开日志文件,要求获得数据包通知,安全地解析消息,并将它们写入文件.在man 7 socket中描述了重要的系统调用socket io.要获得套接字上的传入数据的通知,您可以使用epoll或选择.

原文地址:https://www.jb51.cc/linux/440116.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐