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 |