log('',\Jiaruan\FileLogger::DEBUG,$msg); } function log_error( $msg ){ static $time_cache = 0, $msg_cache = ''; if (log_cache($time_cache, $msg_cache, $msg)) { return; } $logger = \Jiaruan\FileLogger::getInstance(SOLUTION_LOG_PATH . '/jzgl/'); $logger->log('',\Jiaruan\FileLogger::ERROR,$msg); } function log_info( $msg ){ if (!APP_DEBUG) return; static $time_cache = 0, $msg_cache = ''; if (log_cache($time_cache, $msg_cache, $msg)) { return; } $logger = \Jiaruan\FileLogger::getInstance(SOLUTION_LOG_PATH . '/jzgl/'); $logger->log('',\Jiaruan\FileLogger::INFO,$msg); } function createProtoClass( $type ){ static $instances = array(); if($instances[$type]) return $instances[$type]; if($type == C('协议类型_基站开机登陆')){ $instances[$type] = new \Jiaruan\ProtoLogin; } else if($type == C('协议类型_基站定时心跳')){ $instances[$type] = new \Jiaruan\ProtoHeartbeat; } else if($type == C('协议类型_用户布控车辆')){ $instances[$type] = new \Jiaruan\ProtoMonit; } else if($type == C('协议类型_用户撤控车辆')){ $instances[$type] = new \Jiaruan\ProtoUnmonit; } else if($type == C('协议类型_用户重启基站')){ $instances[$type] = new \Jiaruan\ProtoReboot; } else if($type == C('协议类型_用户升级基站')){ $instances[$type] = new \Jiaruan\ProtoUpgrade; } else if($type == C('协议类型_用户检查基站')){ $instances[$type] = new \Jiaruan\ProtoCheck; } else if($type == C('协议类型_用户下发命令行')){ $instances[$type] = new \Jiaruan\ProtoCmdLine; } else{ $instances[$type] = null; } return $instances[$type]; } function get_station_cityid( $mac ){ $ret = MM("jms_station",'fdv2')->where(array("DeviceNumber" => $mac))->getField('CityId'); return $ret == null ? 0 : $ret; } function get_vehicle_cityid( $vehicle_number ){ $ret = MM("jms_vehicle",'fdv2')->where(array("DeviceNumber" => $vehicle_number))->getField('CityId'); return $ret == null ? 0 : $ret; } function log_cache( &$time_cache, &$msg_cache, &$msg ){ if ($time_cache == 0) { $time_cache = time(); } if ($msg_cache == '') { $msg_cache = "\n"; } $msg_cache .= "[" .date("H:i:s", time()) . "]" . $msg . "\n"; //关闭主进程 或 日志大于15k 或 时间大于2秒 写日志到磁盘 if (strpos($msg, "stop:") !== 0 && strlen($msg_cache) < 1024 * 15 && time() - $time_cache < 2) { return true; } $msg = $msg_cache; $msg_cache = ''; $time_cache = time(); return false; }