Wie macht man Paritätsschreibprotokolle?

Ich betreibe einen Paritäts-Supernode, der kürzlich von Geth gewechselt ist, weil die Parität selbst im archiveModus viel besser zu funktionieren scheint.

Um die Standardausgabe von geth zu protokollieren, habe ich Folgendes ausgeführt:

geth [options] console 2>>/tmp/geth.log

Ich habe versucht, einen ähnlichen Befehl für die Parität auszuführen, aber der Standard wird nicht abgemeldet.

 ~ $ parity --help | grep -A1 log
  -l --logging LOGGING     Specify the logging level. Must conform to the same
                           format as RUST_LOG.

Die Parität ermöglicht nativ das Festlegen einer Protokollierungsstufe. Aber wie kann ich die Parität dazu bringen, tatsächlich Protokolle zu schreiben ?

Antworten (2)

Senden Sie Stderr und Stdout an eine Protokolldatei

Wenn Sie die Protokolldatei bei jedem Start Ihres Befehls überschreiben möchten:

parity [options] > /tmp/parity.log 2>&1

Wenn Sie jedes Mal, wenn Sie Ihren Befehl starten, an Ihre Protokolldatei anhängen möchten:

parity [options] >> /tmp/parity.log 2>&1



Senden Sie Stderr und Stdout an separate Protokolldateien, während Sie die Ausgabe anzeigen

Und wenn Sie stderr und stdout in separaten Protokolldateien protokollieren möchten, während Sie die Ausgabe auf Ihrer Konsole anzeigen:

parity [options] > >(tee stdout.log) 2> >(tee stderr.log >&2)

Referenz Wie schreibe ich stderr in eine Datei, während ich „tee“ mit einer Pipe verwende? .

Wenn Sie eine Skriptdatei erstellen möchten, um diesen Befehl auszuführen, müssen Sie #!/bin/bash(anstelle von #!/bin/sh) in der ersten Zeile der Datei verwenden, da diese Umleitung Bash-spezifisch ist:

#!/bin/bash

cd $HOME/Parity

parity [options] > >(tee stdout.log) 2> >(tee stderr.log >&2)

Speichern Sie das Obige in $HOME/bin/runParity, chmod 700 $HOME/bin/runParityund Sie können dann runParity(oder $HOME/bin/runParity) eingeben, um es zu starten.

Neuere Versionen von Parity ermöglichen die Erstellung nativer Protokolldateien:

parity --log-file /path/to/parity.log

Und setzen Sie die Protokollebene auf error, warn, oder info, mit:debugtrace

parity -lsync,tpc=trace

Wo die folgenden Module verfolgt werden können : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ , , und / oder .account_bloombasicauthoritychainclientdappsdiscoverydiskmapenactengineestimate_gasethashexecutiveextexternal_txexternalitiesfatdbfetchhypervisoripcjdbjournaldblesles_providerlocal_storemigrationminermodenetworkon_demandown_txperfpoarcdbshutdownsignersnapshotsnapshot_iosnapshot_watcherspecstatestatsstratumsynctrietxqueueupdater

Offenlegung, ich arbeite für Parity.

Ich bin ein relativ starker Benutzer der Parität. Darf ich Sie fragen, wo diese Informationsebene verfügbar ist? Ich vermute, es steht im Wiki, aber bevor ich zu tief tauche, habe ich recht?
Ich habe gerade den Quellcode dafür gelesen :)
Ich habe grep -R -o -E 'debug!\(target\: \"[a-z_]*\"' * | cut -d'"' -f2 | sort | uniqein Jahr später eine ähnliche Liste erstellt (für die debugProtokollebene). Hast du so etwas verwendet? ...