rsyslog是怎么提取日志内容的PRI部分的代码(c语言),我想知道rsyslog是如何获取日志的PRI部分的内容,并想提取这一部分的代码,解析各种格式的日志内容然后转化为标准的syslog格式,比如说(oracle)日志,还有linux的一些日志,但是我发现日志上并没有PRI部分的内容,我想知道rsyslog是如何获取日志的RPI部分的内容,就比如说,我直接读取linux日志文件cron的日志内容是Jun 20 11:40:01 localhost CROND[32322]: (root) CMD (/usr/lib64/sa/sa1 1 1),但是rsyslog进行udp发送日志的时候,发送的却是<78>Jun 20 11:40:01 localhost CROND[32322]: (root) CMD (/usr/lib64/sa/sa1 1 1),<78>这个PRI是怎么获取的代码
15条回答 默认 最新
- MarkHan_ 2023-06-20 11:43关注
参考一下rsyslog 的源代码
// 接收日志消息 void receiveLogMessage() { // 建立套接字并监听端口 int socket = createSocketAndListen(port); while (1) { // 接收日志消息 char* message = receiveMessage(socket); // 解析日志消息 LogEntry logEntry = parseLogMessage(message); // 提取 RPI 部分的内容 RPIInfo rpiInfo = extractRPIInfo(logEntry); // 处理日志消息并转发到目标 processLogMessage(logEntry, rpiInfo); // 释放资源 free(message); } // 关闭套接字 close(socket); } // 解析日志消息 LogEntry parseLogMessage(char* message) { // 解析日志格式,提取各个字段 // 返回 LogEntry 结构体对象 } // 提取 RPI 部分的内容 RPIInfo extractRPIInfo(LogEntry logEntry) { // 从 logEntry 中提取 RPI 相关信息 // 返回 RPIInfo 结构体对象 } // 处理日志消息并转发到目标 void processLogMessage(LogEntry logEntry, RPIInfo rpiInfo) { // 处理日志消息,转发到目标 }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 安霸cv22 + rtl8211f 千兆,udp传输丢包
- ¥15 关于区块链和边缘环境搭建的相关问题
- ¥15 windows远程桌面断卡重连软件卡顿问题
- ¥30 Unity 实现扫描效果
- ¥15 HbuilderX检测不到安卓模拟器
- ¥15 这个main已经在filename.obj中定义是什么错 C语言
- ¥15 关于#linux#的问题:exsi8.0系统 怎么更改web访问端口,不用80、443
- ¥15 使用elementor设计样式
- ¥15 谁能提供一个中文版的推销咨询网站连接?
- ¥15 springboot项目程序启动报错