Tracy Yapılandırması

Tüm örnekler, oluşturulmuş bir takma ad varsayar:

use Tracy\Debugger;

Hata Günlüklemesi

$logger = Debugger::getLogger();

// Hata oluştuğunda bildirimlerin gönderildiği e-posta adresi
$logger->email = 'dev@example.com';      // (string|string[]) varsayılan olarak ayarlanmamıştır

// E-postanın göndericisi
$logger->fromEmail = 'me@example.com';   // (string) varsayılan olarak ayarlanmamıştır

// E-posta gönderimini sağlayan rutin
$logger->mailer = /* ... */;             // (callable) varsayılan, mail() fonksiyonu ile göndermektir

// Bir sonraki e-postanın gönderilmesi için en kısa süre nedir?
$logger->emailSnooze = /* ... */;        // (string) varsayılan '2 days'

// Hangi hata seviyeleri için BlueScreen de günlüğe kaydedilir?
Debugger::$logSeverity = E_WARNING | E_NOTICE;  // varsayılan 0'dır (hata seviyesi yok)

dump() Davranışı

// Maksimum karakter dizisi uzunluğu
Debugger::$maxLength = 150;              // (int) varsayılan Tracy sürümüne göre değişir

// Maksimum iç içe geçme derinliği
Debugger::$maxDepth = 10;                // (int) varsayılan Tracy sürümüne göre değişir

// Bu anahtarların değerlerini gizle (Tracy 2.8'den itibaren)
Debugger::$keysToHide = ['password', /* ... */];  // (string[]) varsayılan []

// Görsel tema (Tracy 2.8'den itibaren)
Debugger::$dumpTheme = 'dark';           // (light|dark) varsayılan 'light'

// dump() fonksiyonunun çağrıldığı yeri göster?
Debugger::$showLocation = /* ... */;     // (bool) varsayılan Tracy sürümüne göre değişir

Diğer

// Geliştirme modunda, notice veya warning türündeki hataları BlueScreen olarak gösterir
Debugger::$strictMode = /* ... */;       // (bool|int) varsayılan false'tur, sadece belirli hata seviyeleri seçilebilir (örneğin, E_USER_DEPRECATED | E_DEPRECATED)

// Susturulmuş (@) hata mesajlarını göster?
Debugger::$scream = /* ... */;           // (bool|int) varsayılan false'tur, sürüm 2.9'dan itibaren sadece belirli hata seviyeleri seçilebilir (örneğin, E_USER_DEPRECATED | E_DEPRECATED)

// Düzenleyicide açmak için bağlantı formatı
Debugger::$editor = /* ... */;           // (string|null) varsayılan 'editor://open/?file=%file&line=%line'

// Hata 500 için özel sayfa şablonunun yolu
Debugger::$errorTemplate = /* ... */;    // (string) varsayılan olarak ayarlanmamıştır

// Tracy Bar'ı göster?
Debugger::$showBar = /* ... */;          // (bool) varsayılan true

Debugger::$editorMapping = [
	// orijinal => yeni
	'/var/www/html' => '/data/web',
	'/home/web' => '/srv/html',
];

Nette Framework

Nette Framework kullanıyorsanız, Tracy'yi yapılandırabilir ve yapılandırma dosyası aracılığıyla Tracy Bar'a yeni paneller ekleyebilirsiniz. Yapılandırmada parametreleri ayarlayabilir ve ayrıca Tracy Bar'a yeni paneller ekleyebilirsiniz. Bu ayarlar yalnızca DI konteyneri oluşturulduktan sonra uygulanır, bu nedenle daha önce oluşan hatalar bunları yansıtamaz.

Hata günlükleme yapılandırması:

tracy:
	# Hata oluştuğunda bildirimlerin gönderildiği e-posta adresi
	email: dev@example.com           # (string|string[]) varsayılan olarak ayarlanmamıştır

	# E-postanın göndericisi
	fromEmail: robot@example.com     # (string) varsayılan olarak ayarlanmamıştır

	# E-posta gönderiminin ertelenme süresi (Tracy 2.8.8'den itibaren)
	emailSnooze: ...                 # (string) varsayılan '2 days'

	# E-posta göndermek için Nette mailer kullanılsın mı? (Tracy 2.5'ten itibaren)
	netteMailer: ...                 # (bool) varsayılan true

	# Hangi hata seviyeleri için BlueScreen de günlüğe kaydedilir?
	logSeverity: [E_WARNING, E_NOTICE]  # varsayılan []

dump() fonksiyonunun davranış yapılandırması:

tracy:
	# Maksimum karakter dizisi uzunluğu
	maxLength: 150                # (int) varsayılan Tracy sürümüne göre değişir

	# Maksimum iç içe geçme derinliği
	maxDepth: 10                  # (int) varsayılan Tracy sürümüne göre değişir

	# Bu anahtarların değerlerini gizle (Tracy 2.8'den itibaren)
	keysToHide: [password, pass]  # (string[]) varsayılan []

	# Görsel tema (Tracy 2.8'den itibaren)
	dumpTheme: dark               # (light|dark) varsayılan 'light'

	# dump() fonksiyonunun çağrıldığı yeri göster?
	showLocation: ...             # (bool) varsayılan Tracy sürümüne göre değişir

Tracy eklentilerinin kurulumu:

tracy:
	# Tracy Bar'a paneller ekler
	bar:
		- Nette\Bridges\DITracy\ContainerPanel
		- IncludePanel
		- XDebugHelper('myIdeKey')
		- MyPanel(@MyService)

	# BlueScreen'e paneller ekler
	blueScreen:
		- DoctrinePanel::renderException

Diğer seçenekler:

tracy:
	# Geliştirme modunda, notice veya warning türündeki hataları BlueScreen olarak gösterir
	strictMode: ...           # varsayılan true

	# Susturulmuş (@) hata mesajlarını göster?
	scream: ...               # varsayılan false

	# Düzenleyicide açmak için bağlantı formatı
	editor: ...               # (string) varsayılan 'editor://open/?file=%file&line=%line'

	# Hata 500 için özel sayfa şablonunun yolu
	errorTemplate: ...        # (string) varsayılan olarak ayarlanmamıştır

	# Tracy Bar'ı göster?
	showBar: ...              # (bool) varsayılan true

	editorMapping:
		# orijinal: yeni
		/var/www/html: /data/web
		/home/web: /srv/html

logSeverity, strictMode ve scream seçeneklerinin değerleri, hata seviyeleri dizisi olarak (örneğin [E_WARNING, E_NOTICE]) veya PHP dilinde kullanılan bir ifade olarak (örneğin E_ALL & ~E_NOTICE) yazılabilir.

DI Servisleri

Bu servisler DI konteynerine eklenir:

İsim Tip Açıklama
tracy.logger Tracy\ILogger logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar