我使用php的'error_log()'發送一些相當長的堆棧跟蹤到apache錯誤日誌,並且條目被截斷。我還沒有找到讓參賽時間更長的方法。 任何想法?如何使apache錯誤日誌條目更長
回答
ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
此配置將旋轉每當其達到尺寸5兆字節的錯誤日誌文件,並且後綴到日誌文件名稱將形式errorlog.YYYY-MM-DD-HH_MM_SS的創建。
對於從apache.org Link Here
在穿過的error_log錯誤消息的最大長度()默認限制多個讀官方文件是1024個字節。
詳細信息有http://www.php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len
閱讀上面的問題使我想知道如果這個問題是內阿帕奇。 是的,截斷髮生在Apache的PHP內部將允許甚至超過10,000個字符。這裏有一個Perl腳本評估Apache的發佈很長的錯誤信息到日誌的能力:
#!/usr/bin/perl -w
#
# Test error log length limitations
# Result: no limitation
#
#
use strict;
use CGI;
my $query = CGI->new;
print $query->header;
print "<html><body>You have reached "
."cgi-bin/admin/test_error_log.pl"
."</body></html>\n";
print STDERR "This is an error message from $0\n";
print STDERR "
[Above should be a blank line] here is a multiline error message
here is the third and final line of it\n";
print STDERR 'abcde' x 200; #1,000 characters
print STDERR "\nAbove is 1,000 characters of output of 'abcde'\n";
print STDERR 'vwxyz' x 2000; #10,000 characters
print STDERR "\nAbove is 10,000 characters of output of 'vwxyz'\n";
我有與Nginx相同的問題。 –
PHP Manual說,大約log_errors_max_len
在的php.ini設置:
設置log_errors的最大字節長度。 (...)默認值爲 1024,0不允許應用任何最大長度。
一些建議,你可以改變它這樣做,例如:
ini_set("log_errors_max_len", 2048);
但手冊補充說:
這個長度適用於記錄的錯誤,顯示錯誤,也 $ php_errormsg,但不能顯式調用函數,如 error_log()。
我正試圖找到解決方案。如果我這樣做會編輯。
由於波爾多said,設置log_errors_max_len
似乎在這種情況下很沒用,和PHP手冊指出這分明。
唯一的解決辦法我能到目前爲止發現是使用:
error_log("Long error message...", 3, CUSTOM_LOG_FILE);
的error_log()
第二個參數可以讓你的消息重定向到一個自定義文件。所以,最後一個參數應該是自定義日誌文件的路徑。
這樣我得到完整的錯誤信息,什麼可能是更重要的人,非ASCII字符在那裏清晰可讀(不知道雖然,可能是我的壞,但是當我用標準日誌文件 - 我得到的東西像\xd0\xbf
)。
- 1. Apache錯誤日誌
- 2. 沒有日誌條目的Apache內部服務器錯誤
- 3. apache錯誤日誌中的httpdocs/cache條目
- 4. Apache錯誤日誌中的Python錯誤
- 5. 使用Docker保留Apache錯誤日誌
- 6. 更新elmah日誌條目
- 7. 表示apache日誌中的ipv6條目
- 8. wsgi通過apache通過SSL導致錯誤500,沒有日誌條目
- 9. Django:url和內容創建結果爲500,沒有apache錯誤日誌條目
- 10. Apache錯誤日誌 - 服務器重載?
- 11. Apache錯誤日誌 - 文件不存在
- 12. 爲調試服務apache錯誤日誌
- 13. symfony 1.4和Apache訪問/錯誤日誌
- 14. apache錯誤日誌備份自動
- 15. 與Python的Apache錯誤日誌CGI
- 16. Apache的錯誤日誌格式
- 17. Apache錯誤日誌頻繁顯示AH00428
- 18. 掛毯Apache的HTTP錯誤日誌500
- 19. Apache rotate訪問和錯誤日志Windows
- 20. (Apache)錯誤日誌美化者
- 21. ModSecurity - 禁用日誌記錄到標準的Apache錯誤日誌
- 22. apache syslog-ng錯誤日誌和訪問日誌
- 23. Apache服務器 - 多個目錄,不同的錯誤日誌
- 24. 運行Apache時清除apache日誌或更改日誌
- 25. 如何與每個日誌條目
- 26. 如何分析多行日誌條目?
- 27. 如何將java日誌條目分組?
- 28. 如何爲systemd日誌創建日誌條目?
- 29. 如何解決這個Apache錯誤日誌問題? Mod Deflate
- 30. 如何不在apache錯誤日誌上打印棄用警告?
-1我不知道爲什麼這是一個被接受的答案。這不會做任何事情來阻止日誌中單個條目的截斷。 –
這實際上會截斷長日誌,因爲它受限於OS的管道長度限制。 –