Tracyの設定

すべての例は、エイリアスが作成されていることを前提としています:

use Tracy\Debugger;

エラーロギング

$logger = Debugger::getLogger();

// エラー発生時に通知が送信されるEメールアドレス
$logger->email = 'dev@example.com';      // (string|string[]) デフォルトは未設定

// Eメールの送信者
$logger->fromEmail = 'me@example.com';   // (string) デフォルトは未設定

// Eメール送信を保証するルーチン
$logger->mailer = /* ... */;             // (callable) デフォルトは mail() 関数による送信

// 次のEメールを送信するまでの最短時間は?
$logger->emailSnooze = /* ... */;        // (string) デフォルトは '2 days'

// どのエラーレベルでBlueScreenもログに記録されますか?
Debugger::$logSeverity = E_WARNING | E_NOTICE;  // デフォルトは 0 (エラーレベルなし)

dump() の振る舞い

// 文字列の最大長
Debugger::$maxLength = 150;              // (int) デフォルトはTracyのバージョンによる

// 最大ネスト深度
Debugger::$maxDepth = 10;                // (int) デフォルトはTracyのバージョンによる

// これらのキーの値を隠す (Tracy 2.8以降)
Debugger::$keysToHide = ['password', /* ... */];  // (string[]) デフォルトは []

// ビジュアルテーマ (Tracy 2.8以降)
Debugger::$dumpTheme = 'dark';           // (light|dark) デフォルトは 'light'

// dump() 関数が呼び出された場所を表示しますか?
Debugger::$showLocation = /* ... */;     // (bool) デフォルトはTracyのバージョンによる

その他

// 開発モードでは、noticeまたはwarningタイプのエラーをBlueScreenとして表示します
Debugger::$strictMode = /* ... */;       // (bool|int) デフォルトは false、特定のエラーレベルのみを選択可能 (例: E_USER_DEPRECATED | E_DEPRECATED)

// サイレンスされた (@) エラーメッセージを表示しますか?
Debugger::$scream = /* ... */;           // (bool|int) デフォルトは false、バージョン2.9以降、特定のエラーレベルのみを選択可能 (例: E_USER_DEPRECATED | E_DEPRECATED)

// エディタで開くためのリンク形式
Debugger::$editor = /* ... */;           // (string|null) デフォルトは 'editor://open/?file=%file&line=%line'

// エラー500用のカスタムページテンプレートへのパス
Debugger::$errorTemplate = /* ... */;    // (string) デフォルトは未設定

// Tracy Barを表示しますか?
Debugger::$showBar = /* ... */;          // (bool) デフォルトは true

Debugger::$editorMapping = [
	// オリジナル => 新しい
	'/var/www/html' => '/data/web',
	'/home/web' => '/srv/html',
];

Nette Framework

Nette Frameworkを使用している場合、設定ファイルを使用してTracyを設定し、Tracy Barに新しいパネルを追加することもできます。 設定では、パラメータを設定したり、Tracy Barに新しいパネルを追加したりできます。これらの設定はDIコンテナが作成された後に適用されるため、それ以前に発生したエラーは反映されません。

エラーロギングの設定:

tracy:
	# エラー発生時に通知が送信されるEメールアドレス
	email: dev@example.com           # (string|string[]) デフォルトは未設定

	# Eメールの送信者
	fromEmail: robot@example.com     # (string) デフォルトは未設定

	# Eメール送信の遅延時間 (Tracy 2.8.8以降)
	emailSnooze: ...                 # (string) デフォルトは '2 days'

	# Eメール送信にNetteメーラーを使用しますか? (Tracy 2.5以降)
	netteMailer: ...                 # (bool) デフォルトは true

	# どのエラーレベルでBlueScreenもログに記録されますか?
	logSeverity: [E_WARNING, E_NOTICE]  # デフォルトは []

dump() 関数の振る舞いの設定:

tracy:
	# 文字列の最大長
	maxLength: 150                # (int) デフォルトはTracyのバージョンによる

	# 最大ネスト深度
	maxDepth: 10                  # (int) デフォルトはTracyのバージョンによる

	# これらのキーの値を隠す (Tracy 2.8以降)
	keysToHide: [password, pass]  # (string[]) デフォルトは []

	# ビジュアルテーマ (Tracy 2.8以降)
	dumpTheme: dark               # (light|dark) デフォルトは 'light'

	# dump() 関数が呼び出された場所を表示しますか?
	showLocation: ...             # (bool) デフォルトはTracyのバージョンによる

Tracy拡張機能のインストール:

tracy:
	# Tracy Barにパネルを追加します
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# BlueScreenにパネルを追加します
	blueScreen:
		- DoctrinePanel::renderException

その他のオプション:

tracy:
	# 開発モードでは、noticeまたはwarningタイプのエラーをBlueScreenとして表示します
	strictMode: ...           # デフォルトは true

	# サイレンスされた (@) エラーメッセージを表示しますか?
	scream: ...               # デフォルトは false

	# エディタで開くためのリンク形式
	editor: ...               # (string) デフォルトは 'editor://open/?file=%file&line=%line'

	# エラー500用のカスタムページテンプレートへのパス
	errorTemplate: ...        # (string) デフォルトは未設定

	# Tracy Barを表示しますか?
	showBar: ...              # (bool) デフォルトは true

	editorMapping:
		# オリジナル: 新しい
		/var/www/html: /data/web
		/home/web: /srv/html

オプション logSeveritystrictModescream の値は、エラーレベルの配列(例:[E_WARNING, E_NOTICE])またはPHP言語で使用される式(例:E_ALL & ~E_NOTICE)として記述できます。

DIサービス

これらのサービスはDIコンテナに追加されます:

名前 説明
tracy.logger Tracy\ILogger ロガー
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar