Warum bekomme ich in Syslog-Nachrichten mit Pythons SysLogHandler unter OS X ein falsches ']'?

9

Mit Python 3.5 unter OS X 10.10.4 bekomme ich falsche ] -Zeichen in den Ausgabe-Syslog-Nachrichten. Dies kann mit dem folgenden Beispielprogramm gesehen werden:

%Vor%

Wenn ich das ausführe, sehe ich syslog Ausgabe wie folgt:

%Vor%

(Beachten Sie das unechte Zeichen ] nach Test ).

Wenn ich den Formatierungsstring leicht ändere, um das anfängliche Zeichen [ zu entfernen, verschwindet das zusätzliche ] . Ich möchte jedoch, dass dieses Literalzeichen in der formatierten Zeichenfolge angezeigt wird (und ich habe das gleiche Problem, auch wenn es nicht am Anfang der Formatierungszeichenfolge steht).

Warum erscheint dieses unechte ] und wie kann ich es vermeiden?

OS X asl.conf , wo die Protokollierung konfiguriert ist, sieht so aus. Ich habe es nicht von den Standardeinstellungen geändert:

%Vor%

Ich mache nicht sehe das gleiche Problem unter Ubuntu 10.04, also scheint es OS X-spezifisch zu sein.

    
Andrew Ferrier 15.12.2015, 23:42
quelle

1 Antwort

4

UPDATE:

Verstanden. Korrigieren Sie die Formatierungszeichenfolge so, dass sie der BSD-Syslog-Formatierung entspricht:

%Vor%

und du bekommst:

%Vor%

HINTERGRUND / ORIGINAL POST

Ich habe Ihren Fehler unter OS X 10.11.6 reproduziert

%Vor%

Der Doppelpunkt ist definitiv der Schuldige. Ich habe die Nachricht wie folgt geändert:

%Vor%

Und dann ist der Protokolleintrag normal:

%Vor%

Ich denke, der Doppelpunkt wird als Formatierungszeichen interpretiert, weil Sie die BSD-Formatierungsoption verwenden. Aus dem BSD syslog rfc :

%Vor%

Vielleicht versucht das OS X-Syslog, sich an den BSD-Syslog-RFC zu halten und verwirrt zu werden?

    
Liam Kelly 24.08.2016, 01:28
quelle