So machen Sie Apache-Fehlerprotokolleinträge länger

8

Ich sende einige ziemlich lange Stack-Traces an das Apache-Fehlerprotokoll, indem ich php's 'error_log ()' benutze und die Einträge werden abgeschnitten. Ich habe keine Möglichkeit gefunden, Einträge länger zu machen. Irgendwelche Ideen?

    
rocketas 13.06.2012, 18:59
quelle

4 Antworten

8

Das Standardlimit für die maximale Länge der Fehlermeldung, die durch error_log () geht, beträgt 1024 Bytes.

Detaillierte Informationen dort Ссылка

    
AlexeyKa 13.06.2012 19:15
quelle
3

Wie Leopoldo sagte , scheint log_errors_max_len in dieser Situation ziemlich nutzlos zu sein, und das PHP-Handbuch gibt dies eindeutig an.

Die einzige Lösung, die ich bisher finden konnte, ist:

%Vor%

Der zweite Parameter von error_log() ermöglicht das Umleiten von Nachrichten an eine benutzerdefinierte Datei. Der letzte Parameter sollte also ein Pfad zu einer benutzerdefinierten Protokolldatei sein.

Auf diese Weise bekomme ich die volle Fehlermeldung und, was für jemand wichtiger sein könnte, sind nicht-ASCII-Zeichen dort klar lesbar (nicht sicher, aber vielleicht meine schlechte, aber wenn ich sie mit Standard-Log-Datei protokolliere - Ich bekomme Dinge wie \xd0\xbf ).

    
kumade 07.04.2017 15:04
quelle
1

PHP Manual sagt über die Einstellungen log_errors_max_len in php.ini :

  

Legen Sie die maximale Länge von log_errors in Bytes fest. (...) Der Standardwert ist   1024 und 0 erlaubt es überhaupt keine maximale Länge anzuwenden.

Einige schlagen vor, dass Sie es zum Beispiel ändern können:

%Vor%

Aber das Handbuch fügt hinzu:

  

Diese Länge gilt für protokollierte Fehler, angezeigte Fehler und auch für   $ php_errormsg, aber nicht explizit aufgerufene Funktionen wie   error_log () .

Ich versuche eine Lösung zu finden. Wird bearbeiten, wenn ich das tue.

    
Leopoldo Sanczyk 09.01.2017 19:48
quelle
0

Wenn ich die obige Frage gelesen habe, habe ich mich gefragt, ob das Problem in Apache liegt. Ja, die Kürzung erfolgt innerhalb von PHP, denn Apache erlaubt sogar über 10.000 Zeichen. Hier ist ein Perl-Skript, das die Fähigkeit von Apache bewertet, lange Fehlermeldungen in sein Protokoll zu schreiben:

%Vor%     
John L. Poole 03.12.2014 21:48
quelle