| 1 | = ログ = #TracLogging |
| 2 | [[TracGuideToc]] |
| 3 | |
| 4 | Trac は Python の標準 [http://docs.python.org/lib/module-logging.html ロギングモジュール] (訳注: [http://www.python.jp/doc/release/lib/module-logging.html 日本語ドキュメント]) を使用したシステムメッセージのログ出力に対応しています。 |
| 5 | |
| 6 | ログは [wiki:TracIni#logging-section trac.ini] の `[logging]` セクションで設定することができます。 |
| 7 | |
| 8 | == 対応しているログの種類 == #SupportedLoggingMethods |
| 9 | |
| 10 | ログの出力方法は [wiki:TracIni#logging-section trac.ini] の `log_type` オプションで設定されます。以下の値が使用できます: |
| 11 | |
| 12 | '''none''':: すべてのログメッセージを抑制する。 |
| 13 | '''file''':: ログをファイルに出力する。 [wiki:TracIni#logging-section trac.ini] の ''log_file'' ディレクティブで指定する。 |
| 14 | '''stderr''':: コンソールにすべてのログを出力する。([wiki:TracStandalone tracd] のみ) |
| 15 | '''syslog''':: (UNIX) 名前付きパイプ `/dev/log` を通してすべてのログメッセージをローカルの syslog に送信する。 syslog はデフォルトでファイル /var/log/messages に出力される。 |
| 16 | '''eventlog''':: (Windows) イベントログに Trac のログを出力する。 |
| 17 | |
| 18 | == ログレベル == #LogLevels |
| 19 | |
| 20 | 出力するログの冗長レベルは [wiki:TracIni#logging-section trac.ini] の `log_level` オプションで指定します。ログレベルは出力するログメッセージの最低限のレベルを定義します。レベルには下記の種類があります: |
| 21 | |
| 22 | '''CRITICAL''':: 最も重要なエラーのみ。たいていは致命的なメッセージです。 |
| 23 | '''ERROR''':: 処理失敗、バグ、エラー。 |
| 24 | '''WARN''':: 警告、処理を中断するほどではないイベント。 |
| 25 | '''INFO''':: 診断メッセージ。すべてのプロセスについてのログ情報。 |
| 26 | '''DEBUG''':: トレースメッセージ、プロファイリングなど。 |
| 27 | |
| 28 | Note: Trac 0.11.5 以降で SQL 文をログに出力することができるようになりました。非常に冗長なログになるので、デフォルトでは OFF に成っています (`[trac] debug_sql =yes` を TracIni に設定することで有効化できます)。 |
| 29 | |
| 30 | == ログの出力フォーマット == #LogFormat |
| 31 | |
| 32 | Trac 0.10.4 以降 ([http://trac.edgewall.org/ticket/#2844 #2844] を参照) では、 [wiki:TracIni#logging-section trac.ini] の `log_format` オプションを使用することで、ログエントリーの出力フォーマットを設定することが可能です。フォーマットは [http://docs.python.org/lib/node422.html Python ロギングフォーマッタ変数] を含むことができる文字列です。そのうえ、以下の Trac 特有の変数を使用することができます: |
| 33 | '''$(basename)s''':: Environment のベースネーム |
| 34 | '''$(path)s''':: Environment の絶対パス |
| 35 | '''$(project)s''':: プロジェクト名 |
| 36 | |
| 37 | Note: 変数には、パーセント記号 (`%(...)s`) ではなく、ドル記号 (`$(...)s`) を使用します。 |
| 38 | |
| 39 | デフォルトのフォーマットは以下の通りです: |
| 40 | {{{ |
| 41 | log_format = Trac[$(module)s] $(levelname)s: $(message)s |
| 42 | }}} |
| 43 | |
| 44 | 以下は、ログにプロジェクト名を出力する例です (全てのログが同じ場所 (例えば `syslog`) に出力される複数プロジェクト環境で役に立ちます) 。この例では、プロジェクトを特定するのに `basename` を使用しています: |
| 45 | {{{ |
| 46 | log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s |
| 47 | }}} |
| 48 | |
| 49 | ---- |
| 50 | See also: TracIni, TracGuide, TracEnvironment |