Logs

如何使奇偶校驗寫入日誌?

  • March 30, 2017

我正在執行一個奇偶校驗超級節點,最近從 geth 切換,因為奇偶校驗似乎表現得更好,即使在archive模式下也是如此。

要記錄 geth 的標準輸出,我曾經執行:

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

我嘗試執行類似的奇偶校驗命令,但它不會記錄標準。

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

原生地,奇偶校驗允許設置日誌級別。但是我怎樣才能讓奇偶校驗實際寫入日誌?

將 Stderr 和 Stdout 發送到日誌文件

如果要在每次啟動命令時覆蓋日誌文件:

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

如果要在每次啟動命令時附加到日誌文件:

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

查看輸出時將 Stderr 和 Stdout 發送到單獨的日誌文件

如果您想在控制台上查看輸出時將 stderr 和 stdout 記錄到單獨的日誌文件中:

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

參考如何在使用帶有管道的“tee”時將 stderr 寫入文件?.

如果要創建腳本文件來執行此命令,則必須在文件的第一行使用#!/bin/bash(而不是),因為此重定向是特定於 bash 的:#!/bin/sh

#!/bin/bash

cd $HOME/Parity

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

將以上內容保存到$HOME/bin/runParity中,chmod 700 $HOME/bin/runParity然後您可以鍵入runParity(或$HOME/bin/runParity)來啟動它。

引用自:https://ethereum.stackexchange.com/questions/3331