ログのタイムスタンプ

8 件のメッセージ GitHub ジェフ・ガージック, jhyslop 2011年3月3日 — 2011年3月14日

debug.log の各行にタイムスタンプを追加する。

それで構わない。このプルリクエストはクローズし、代わりに誰かが人間が読めるタイムスタンプのパッチを提出してくれることを期待する。

また、ユニバーサルタイムスタンプにはプライバシー上の懸念があったため、-logtimestamp オプションを追加して、デフォルトではタイムスタンプをオフにするのがよいかもしれない。

jhyslop 2011年3月10日 原文 · 個別ページ

実は、ロギングを少し改修する予定なので、その際にオプションのタイムスタンプを追加するつもりである。フラグを追加するのだから、‘-logtimestamp=<off | numeric | human-readable>‘にしない理由はない。

プライバシー上の懸念とは何だったか、覚えているだろうか。

私の計画は、OutputDebugStringF を 2 つのパラメーターを受け取るように変更することである。1 つは冗長レベル(off、critical error、error、warning、info、debug、verbose)を示し、もう 1 つはログエントリが関連する領域(Mining、Transactions、Blocks など)を示すビットマスク列挙型である。(文字通り数千行の IRC ログメッセージをかき分けるのにうんざりし、1日あたり約 1.2M のログファイルが生成されていた。)そして、すべての’printf’文を、コンテキストに応じた適切な x と y を持つ OutputDebugStringF( x, y に変更する。

そのコードはすでにローカルソースにあるが、以前のリリースに基づいており、現在は Debug, Mining にハードコードされている。

jhyslop 2011年3月13日 原文 · 個別ページ

Jeff、前述の通りコードに取り組んでいる。プライバシー上の懸念について詳しく教えてもらえないだろうか。ログのタイムスタンプがどのようにプライバシーの問題になるのか、よく分からない。

IRC からの引用、 懸念はサトシからのものだった……彼の考えを読み取ろうとすべきではないが、おそらく彼が考えていたのは、誰かが N 個のビットコインサービスに対して debug.log の召喚令状を出し、トランザクションの発信元を特定しようとすることだったと思う

jhyslop 2011年3月13日 原文 · 個別ページ

そのようなことだろうとは思っていた。余談だが、コインの発信元をある程度の確実性をもって特定するために、何ノードに召喚令状を出す必要があるかを解明するのは、興味深い課題だろう。

私の OutputDebugStringF の改修では、デフォルトで個々のトランザクションに関するものは一切ログに記録しない。基本的に、ハッシュレートなどの低頻度のステータスメッセージ、警告、エラー、致命的エラーのみがデフォルトでログに記録される。

実のところ、あまり先に進みすぎる前に、ビットコインフォーラムでディスカッションを立ち上げて、私のアイデアについてフィードバックを得ようと思う。プライバシーの問題について追加の見解を持っている人がいるかもしれない。

一般的に、段階的なアプローチの方が大規模な書き直しよりもうまくいく傾向があるので、まず BlueMatt のパッチで様子を見たい。その後、コミュニティがその方向性に満足しているようであれば、より大がかりなものを検討できる。

jhyslop 2011年3月14日 原文 · 個別ページ

了解した。私の変更は BlueMatt のものと直交しているので、マージは簡単である。