第十天
起點(diǎn):
1.手把手教你做關(guān)鍵詞匹配項(xiàng)目(搜索引擎)---- 第一天
回顧:
9.手把手教你做關(guān)鍵詞匹配項(xiàng)目(搜索引擎)---- 第九天
小帥帥收到記錄Log的任務(wù)后,就安心去研究去了。。。
其實(shí)按照于老大的水平來(lái)說(shuō),看慣了開(kāi)源框架,寫(xiě)個(gè)普通的Logger是輕而易舉,他為什么要小帥帥去做呢?
小帥帥當(dāng)時(shí)其實(shí)也想不通,因?yàn)樗麤](méi)有經(jīng)歷過(guò)那個(gè)階段。
小帥帥的想法其實(shí)也挺簡(jiǎn)單,就是完成于老大給的任務(wù),成為可以勝任這項(xiàng)工作的好員工。
小帥帥這個(gè)階段對(duì)需求不敏感,所以一接到任務(wù)他就去研究技術(shù)細(xì)節(jié)去了。 殊不知代碼已經(jīng)寫(xiě)好了。
小帥帥的初稿,就是嘗試用面向?qū)ο蟮乃季S能力去寫(xiě)這個(gè)記錄Log的任務(wù), 初稿如下:
class Logger { public static function log($message){ $file = fopen('application.error.log', "a+"); fwrite($file, $message); fclose($file); }}那么TopClient的代碼如下:
class TopClient { ...... PRotected function logCommunicationError($apiName, $requestUrl, $errorCode, $responseTxt) { $localip = isset($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_ADDR"] : "CLI"; $logData = "API_NAME:$apiName,APP_KEY:$this->appkey,CLIENT_IP:$localIp,SDK_VERSION:$this->sdkVersion,REQUEST_URL:$requestUrl,ERROR_CODE:$errorCode,ERROR_MSG:".str_replace("/n","",$responseTxt); Logger::log($logData); } ......}其實(shí)這是一個(gè)進(jìn)步,小帥帥終于在慢慢轉(zhuǎn)變自己的思維能力。
當(dāng)小帥帥拿著這份代碼找到于老大時(shí),于老大很高心,但是不是他想要的成果,于是于老大就對(duì)小帥帥說(shuō):
1. 如果你要記錄錯(cuò)誤log,你期望怎么去用,期望看到哪些信息。
2. 如果你要記錄警告log, 你期望怎么去用,期望看到哪些信息。
3. 如果你要調(diào)試,想看看代碼的執(zhí)行效率,你期望怎么去用,期望看到哪些信息。
三個(gè)為什么把小帥帥給壓倒了,小帥帥一聽(tīng),有點(diǎn)氣喘不過(guò)來(lái)。
就這樣小帥帥去思索于老大說(shuō)的話。
小帥帥有幸能聽(tīng)懂其中含義的時(shí)候,所學(xué)的心法就更加強(qiáng)大,我們期待小帥帥能夠開(kāi)竅。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注