设为首页 加入收藏

TOP

Linux下处理实时日志生成另一个实时日志(二)
2014-11-24 03:32:22 来源: 作者: 【 】 浏览:1
Tags:Linux 处理 实时 日志 生成 一个实时
个字段。那我们如何解决这个问题呢,答案就是通过加双引号(即将$line变为"$line"),将一行记录作为一个整体字符串传入即可,然后php接收到这个字符串后,再通过explode("\t",$line)进行分隔出各个字段。如下所示:
/usr/local/webserver/php/bin/php jobfairs.php $ret "$line"

(3)jobfairs.php是对实时日志的每一行进行匹配并输出为IM的log格式:


< php
$ret = $_SERVER["argv"][1];
$arr = json_decode($ret, true);//将json字符串解码成数组
foreach ($arr as $key => $value) {
$name = $value["name"][0];//企业名称
foreach ($value["im_account"] as $v) { //企业对应的叮咚id
$userId[$v] = $key;
$compName[$v] = $name;
//echo $key ."\t" . $v ."\t" . $name ."\n";
}
}

$line = $_SERVER["argv"][2];//获取日志的一条记录
$logArr = explode("\t", $line);
//echo $line . "\n";


//获取各个字段
$time = $logArr[0];
$fromUserId = $logArr[1];
$toUserId = $logArr[2];
$msgContent = $logArr[3];

$fuiArr = explode('=', $fromUserId);
$tuiArr = explode('=', $toUserId);
$fui = $fuiArr[1];
$tui = $tuiArr[1];


$output = $time . "\t";
if(isset($userId[$fui])) { //fromUserId是某个企业的叮咚id
//echo $line . "\n";
$output .= "companyId=$userId[$fui]\t";
$output .= "companyName=$compName[$fui]\t";
$output .= "companyDingdongId=$fui\t";
$output .= "personalDingdongId=$tui\t";
$output .= "whoSend=0\t";
$output .= $msgContent;
echo $output . "\n";
} else if(isset($userId[$tui])) { //toUserId是某个企业的叮咚id
//echo $line . "\n";
$output .= "companyId=$userId[$tui]\t";
$output .= "companyName=$compName[$tui]\t";
$output .= "companyDingdongId=$tui\t";
$output .= "personalDingdongId=$fui\t";
$output .= "whoSend=1\t";
$output .= $msgContent;
echo $output . "\n";
}
>


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下通过PHP对MySQL中的数据进.. 下一篇在 PHP 中使用命令行工具 shell_e..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 安装及连接-腾 (2025-12-25 06:20:28)
·MySQL的下载、安装、 (2025-12-25 06:20:26)
·MySQL 中文网:探索 (2025-12-25 06:20:23)
·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)