Blame | Last modification | View Log | RSS feed
<?php#使用命名空間qbpwcfnamespace qbpwcf;#匯入外部套件include("../allInOneForJson.php");/*#提示要測試的套件#echo "<hr>logs::parseLog2sessionWithMultiMsgStartSupport & logs::filterMsgPackWithMultiKeywordSupport - testCase 2<br>";#如果有 $_POST["lineStart"] 存在if(isset($_POST["lineStart"])){#函式說明:#解析讀取到的log內容,分段成數個訊息(可以有多種)儲存到session陣列中並回傳完整的訊息部分.#回傳結果:#$result["status"],狀態,"true"或"false".#$result["error"],錯誤訊息陣列.#$result["function"],當前函式的名稱.#$result["argu"],使用的參數.#$result["content"],陣列,每個有關鍵字的訊息陣列.#$result["lineNum"],數字,當前行數.#必填參數:#$conf["path"],log檔案的路徑與名稱.$conf["path"]="logsT/Devcom-9497.log";#$conf["msgStart"],字串陣列,用來識別訊息開頭的開頭關鍵字,支援多種訊息的開頭.#$conf["msgStart"]=array("i UdpS, ".date('n')."/".date('j'),"i TcpSvr, ".date('n')."/".date('j'));$conf["msgStart"]=array("i UdpS, 1/30","i TcpSvr, 1/30");#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑$conf["fileArgu"]=__FILE__;#可省略參數:#$conf["sessionName"],字串,儲存log的session變數key.#$conf["sessionName"]="";#$conf["line2start"],字串,log從第幾列開始,預設為總行數減去linesPerTime+1.$conf["line2start"]=$_POST["lineStart"];#$conf["linesPerTime"],字串,一次最多讀取幾列,預設爲10列.$conf["linesPerTime"]="10";$parseLog2sessionWithMultiMsgStartSupport=logs::parseLog2sessionWithMultiMsgStartSupport($conf);unset($conf);#如果執行錯誤if($parseLog2sessionWithMultiMsgStartSupport["status"]==="false"){#印出結果var_dump($parseLog2sessionWithMultiMsgStartSupport);#結束執行exit;}#if end#函式說明:#解析多個訊息陣列,尋找符合其中一組關鍵字出現的訊息,並回傳之.#回傳結果:#$result["status"],狀態,"true"或"false".#$result["error"],錯誤訊息陣列.#$result["function"],當前函式的名稱.#$result["argu"],使用的參數.#$result["content"],陣列,有開頭關鍵字出現的訊息陣列.#必填參數:#$conf["msgs"],陣列,由多個訊息陣列組成.$conf["msgs"]=$parseLog2sessionWithMultiMsgStartSupport["content"];#$conf["keyWords"],二維陣列,每個關鍵字.$conf["keyWords"]=array(array("2","3","E","B"),array("i"," ","T","c","p","S","v","r"));#$conf["keyWordsAddr"],二維陣列,關鍵字的位置是第幾個.$conf["keyWordsAddr"]=array(array("21","22","24","25"),array("0","1","2","3","4","5","6","7"));#可省略參數:#無$filterMsgPackWithMultiKeywordSupport=logs::filterMsgPackWithMultiKeywordSupport($conf);unset($conf);#如果執行錯誤if($filterMsgPackWithMultiKeywordSupport["status"]==="false"){#印出結果var_dump($filterMsgPackWithMultiKeywordSupport);#結束執行exit;}#if end#初始化要印出的內容$result=array();#初始化儲存lineArray內容$lineArray=array();#針對每個訊息陣列foreach($filterMsgPackWithMultiKeywordSupport["content"] as $res){#函式說明:#將多個一維陣列串聯起來,key從0開始排序.#回傳的結果:#$result["status"],"true"表執行正常,"false"代表執行不正常.#$result["error"],錯誤訊息陣列.#$result["function"],當前執行的函數.#$result["content"],合併好的一維陣列.#必填的參數#$conf["inputArray"],陣列,要合併的一維陣列變數,例如:=array($array1,$array2);$conf["inputArray"]=array($lineArray,$res);#可省略的參數:#$conf["allowRepeat"],字串,預設為"true",允許重複的結果;若為"false"則不會出現重複的元素內容.$conf["allowRepeat"]="false";$mergeArray=arrays::mergeArray($conf);unset($conf);$lineArray=$mergeArray["content"];}#foreach end#設置要印出的內容$result["lines"]=$lineArray;#設置新的欄數$result["id"]["lineStart"]=$parseLog2sessionWithMultiMsgStartSupport["lineNum"];#印出 jsonecho json_encode($result);}#if end*/?>