24
A
回答
45
使用雙引號:
error_log("This is a two lined message. \nThis is line two.");
應該工作。
error_log('This is a one lined message. \nThis is the same line still.');
將無法正常工作:請注意單引號。
3
我偶爾會遇到這個問題,但某些PHP解釋器並不總是公平對待\n
。我的醜陋解決方案需要爲換行符添加原始ASCII代碼,\10
,似乎有訣竅。因此,嘗試\n\10
:
error_log("\n\10\n\10".$this->db->last_query()."\n\10\n\10");
這是慘兮兮的代碼,所以你可能要包裝成自己的函數這...但它使錯誤日誌看起來好多了,如果你想要的東西脫穎而出。
我也不知道爲什麼這個效果會更好......不在乎足夠了解,但如果有人知道原因,聽起來會很酷。
21
PHP_EOL管理多個平臺上的換行符:
error_log("Error message".PHP_EOL, 3, 'error.log');
+1
不錯,在IIS上運行的PHP可以正常工作。 \ 10沒有工作,但這是一個。 – Jordi 2016-05-25 09:03:02
0
調試時,如果你想使你的錯誤日誌行中脫穎而出當你看日誌「尾-f」,我用一個小功能這樣可以使線條突出並易於閱讀。
只是拋出一些空白空間和一個常見術語,如'CUSTOM_LOG'以備後用。
highlight_error_log('Msg here');
function highlight_error_log($str){
error_log('CUSTOM_LOG: ' . $str . ' ');
}
16
正如前面提到的,你可以使用PHP_EOL
或者爲了使用雙引號來輸出新行到你的日誌文件。
無論如何,當使用linux控制檯來調試應用程序時,tail
命令會將新行顯示爲\\\\n
。
簡單的解決方案是使用sed
爲了與\\n
更換\\\\n
:
tail -f file | sed 's/\\n/\n/g'
看到這個答案:
https://serverfault.com/a/126409
相關問題
- 1. PHP error_log將換行符輸出爲Mac OSX上的文字「\ n」字符串
- 2. PHP error_log仍然在中斷交換機內工作
- 3. PHP error_log中的怪事
- 4. PHP error_log中錯誤的MySQL
- 5. 在php中創建多個換行符
- 6. 換行符在PHP中不起作用?
- 7. 如何在php中找到換行符?
- 8. PHP換行符在文本文件中
- 9. PHP error_log消息類型1,在additional_header中找到多個或格式不正確的換行符
- 10. PHP的error_log文件
- 11. php error_log消息在超時時丟失
- 12. 在PHP中替換換行符的行爲奇怪
- 13. 禁用error_log。 Error_log flooding
- 14. Apache2與php-fpm error_log安裝
- 15. PHP error_log性能問題
- 16. PHP error_log()不起作用
- 17. 用PHP清除error_log文件
- 18. PHP換行符file_put_contents()
- 19. 在PHP中提交文本換行符轉換
- 20. 問題替換字符串\ r \ n在PHP中換行
- 21. error_log?
- 22. PHP error_log中()歸檔日誌文件
- 23. php中的log_errors和error_log for php.ini
- 24. 用br替換換行符,但在h1之後忽略換行符PHP
- 25. 在PHP中將字符串(包含換行符)傳遞給jar
- 26. 換行符不能在PHP字符串中工作
- 27. 在UITextField中換行符?
- 28. 如何讓PHP在error_log文件中存儲請求的URL?
- 29. 如何在PHP中禁用「referer」到error_log的懸停?
- 30. 即使error_log在php.ini中定義,也沒有php錯誤文件
我不會那麼做的。我希望錯誤日誌中的每一行都是一個單獨的條目。將消息分散在兩行或更多行將會破壞這一點。 – Gumbo 2010-06-07 06:40:28