读取log文件,每一行为一条数据
public function replenishLogAction($date=[])
{
if(empty($date)){
return false;
}
$startDate=$date[0];
//$filename = BASE_PATH.'/data/file/changdu_all_users_0315.log';
$filename = BASE_PATH.'/data/file/changdu_all_users_'.$startDate.'.log';
//var_dump($filename);
//die;
// 将文件内容读入数组,每行作为一个元素
$lines = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$singlePoint = 0;
$dataArr = [];
foreach ($lines as $line) {
// 处理每一行数据
//echo htmlspecialchars($line) . "<br>";
$parts = explode('changdu_all_users.INFO: ', $line);
$date = trim($parts[0], '[] ');//日志时间
$logTime=strtotime($date);
if($logTime>strtotime('2026-03-23 17:44:00')){
DiUtils::getLog()->info("日期".$logTime.":数据不推送");
continue;
}
if(empty($parts[1])){
continue ;
}
$line=$parts[1];
$parts = explode(' [] []', $line);
$line=$parts[0];
$memberData=Tools::object_to_array(json_decode($line));
if(!empty($memberData) && !empty($memberData['clue_token'])){
unset($memberData['_url']);
$dataArr[] = $memberData;
continue;
}
if (empty($memberData['project_id']) || $memberData['project_id'] == '__PROJECT_ID__') {
continue ;
}
if (!empty($user['customize_params'])) {
continue ;
}
if (!empty($user['click_id']) && $user['click_id'] != '__CLICKID__' && strlen($user['click_id']) < 50) {
continue ;
}
if (!empty($user['gdt_vid'])) {
continue ;
}
if (!empty($user['bd_vid'])) {
continue ;
}
$dataArr[] = $memberData;
}
$count = count($dataArr)-1;
// var_dump($count);
// die;
foreach ($dataArr as $k=>$item){
DiUtils::getLog()->info("日期".$startDate.":数据",$item);
}
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: