|   | 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  |