[英]parsing PHP error log issue – line-breaks (\n) inside the error messages
我試圖解析PHP錯誤日志。 問題是通過\\n
中斷文件不起作用。
explode(PHP_EOL, $log)
這不起作用,因為有一些錯誤消息本身包含\\n
。
如何按行破解這樣的文件呢?
提取有問題的日志:
[04-Jan-2012 21:28:48] PHP Notice: Use of undefined constant AY_FACEBOOK_TAB_URL - assumed 'AY_FACEBOOK_TAB_URL' in /var/www/[hidden]/default.layout.tpl.php on line 36
[04-Jan-2012 22:38:02] PHP Notice: Use of undefined constant AY_FACEBOOK_TAB_URL - assumed 'AY_FACEBOOK_TAB_URL' in /var/www/[hidden]/default.layout.tpl.php on line 36
[04-Jan-2012 23:43:33] PHP Warning: file_get_contents(https://graph.facebook.com/4294967295/picture?type=large): failed to open stream: HTTP request failed! HTTP/1.0 500 Internal Server Error
in /var/www/[hidden]/result.tpl.php on line 11
[04-Jan-2012 23:43:33] PHP Notice: Undefined variable: image in /var/www/[hidden]/result.tpl.php on line 20
注意HTTP/1.0 500 Internal Server Error
后的換行符。
使用正則表達式匹配行的開頭。 它通常是日期/時間(時間戳)。
這段代碼適合我:
<?php
$content = file_get_contents('/var/log/php-log.log');
var_dump(preg_split('/\[\d\d-\w{3}-\d{4}\s+\d\d:\d\d:\d\d\]/', $content));
但是,雖然我正在分割行開始模式,但第一個結果項將為空。
嘗試使用"\\r\\n"
並確保它們位於雙引號之間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.