Tracy Konfigürasyonu

Aşağıdaki örneklerde, aşağıdaki sınıf takma adının tanımlandığı varsayılmaktadır:

use Tracy\Debugger;

Hata Günlüğü

$logger = Debugger::getLogger();

// hata oluştuysa bildirim bu e-postaya gönderilir
$logger->email = 'dev@example.com'; // (string|string[]) varsayılan olarak unset

// e-posta gönderen
$logger->fromEmail = 'me@example.com'; // (string) varsayılan olarak unset

// e-posta göndermek için rutin
$logger->mailer = /* ... */; // (çağrılabilir) varsayılan olarak mail() ile gönderilir

// başka bir e-posta göndermek için en kısa ne kadar süre sonra?
$logger->emailSnooze = /* ... */; // (string) varsayılan değer '2 gün'

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

dump() Davranış

// maksimum dize uzunluğu
Debugger::$maxLength = 150; // (int) Tracy'ye göre varsayılan

// ne kadar derin listeleyecek
Debugger::$maxDepth = 10; // (int) Tracy'ye göre varsayılan

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

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

// dump() işlevinin çağrıldığı konumu gösterir mi?
Debugger::$showLocation = /* ... */; // (bool) Tracy'ye göre varsayılan

Diğerleri

// Geliştirme modunda, Mavi Ekran olarak bildirim veya hata uyarıları göreceksiniz
Debugger::$strictMode = /* ... */; // (bool|int) varsayılan olarak false, sadece belirli hata seviyelerini seçebilirsiniz (örn. E_USER_DEPRECATED | E_DEPRECATED)

// sessiz (@) hata mesajlarını görüntüler
Debugger::$scream = /* ... */; // (bool|int) varsayılan olarak false, 2.9 sürümünden beri sadece belirli hata seviyelerini seçmek mümkündür (örn. E_USER_DEPRECATED | E_DEPRECATED)

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

// 500 hatası için özel sayfa içeren şablonun yolu
Debugger::$errorTemplate = /* ... */; // (string) varsayılan olarak unset

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

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

Nette Çerçevesi

Nette Framework kullanıyorsanız, yapılandırma dosyasını kullanarak Tracy'yi yapılandırabilir ve Tracy Çubuğuna yeni paneller ekleyebilirsiniz. Yapılandırmada Tracy parametrelerini ayarlayabilir ve ayrıca Tracy Çubuğuna yeni paneller ekleyebilirsiniz. Bu ayarlar yalnızca DI konteyneri oluşturulduktan sonra uygulanır, bu nedenle daha önce meydana gelen hatalar bunları yansıtamaz.

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

tracy:
	# hata oluştuysa bildirim bu e-postaya gönderilir
	email: dev@example.com           # (string|string[]) varsayılan olarak unset

	# e-posta gönderen
	fromEmail: robot@example.com     # (string) varsayılan olarak unset

	# e-posta gönderimini erteleme süresi (Tracy 2.8.8'den beri)
	emailSnooze: ...                 # (string) varsayılan olarak '2 gün'

	# yapılandırmada tanımlanmış bir mailer kullanmak için? (Tracy 2.5'ten beri)
	netteMailer: ...                 # (bool) varsayılan olarak true

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

dump() işlevi için yapılandırma:

tracy:
	# maksimum dize uzunluğu
	maxLength: 150                # (int) Tracy'ye göre varsayılan

	# ne kadar derin listeleyecek
	maxDepth: 10                  # (int) Tracy'ye göre varsayılan

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

	# görsel tema (Tracy 2.8'den beri)
	dumpTheme: dark               # (light|dark) varsayılan olarak 'light'

	# dump() işlevinin çağrıldığı konumu gösterir mi?
	showLocation: ...             # (bool) Tracy'ye göre varsayılan

Tracy uzantısını yüklemek için:

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

	# panelleri BlueScreen'e ekle
	blueScreen:
		- DoctrinePanel::renderException

Diğer seçenekler:

tracy:
	# Geliştirme modunda, bildirim veya hata uyarılarını Mavi Ekran olarak göreceksiniz
	strictMode: ...           # varsayılan değer true

	# sessiz (@) hata mesajlarını görüntüler
	scream: ...               # varsayılan değer false

	# düzenleyicide açılacak bağlantı biçimi
	editor: ...               # (string) varsayılan olarak 'editor://open/?file=%file&line=%line'

	# 500 hatası için özel sayfa içeren şablonun yolu
	errorTemplate: ...        # (string) varsayılan olarak unset

	# Tracy Bar'ı gösterir mi?
	showBar: ...              # (bool) varsayılan değer true

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

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

DI Hizmetleri

Bu hizmetler DI konteynerine eklenir:

Ad Tür Açıklama
tracy.logger Tracy\ILogger logger
tracy.blueScreen Tracy\BlueScreen BlueScreen
tracy.bar Tracy\Bar Tracy Bar