Farbdekorationen aus Strings entfernen, bevor sie in die Protokolldatei geschrieben werden

8

Ich benutze den Ruby Logger so:

%Vor%

Wo die MultiIO eine Klasse ist, habe ich von diese Antwort bekommen. Das funktioniert meistens sehr gut, aber ich verwende 'colored' rubygem, um farbige Ausgabe auf dem Terminal zu geben. Leider endet dies auch in der Logdatei, da ANSI nicht mehr aussieht wie [32mPASS[0m oder ähnliche nicht druckbare Zeichen.

Was ist der beste Ansatz, um die Logfile-Strings zu bereinigen, während die Farben für die tty-Strings beibehalten werden? Es macht mir nichts aus, wenn ich Logger oder MultiIO patchen kann, aber ich möchte absolut keine zwei Aufrufe für Logfile und Bildschirm.

    
wim 16.04.2013, 08:56
quelle

3 Antworten

11

Dies ist meine aktuelle Lösung

%Vor%

Und dann:

%Vor%     
wim 16.04.2013, 10:12
quelle
6

Aus dem Edelstein kolorieren :

%Vor%     
Leventix 08.11.2014 09:49
quelle
4

Zum Entfernen von ASCII-Farben würde ich

empfehlen %Vor%     
Haris Krajina 09.03.2016 14:44
quelle

Tags und Links