Jak nastavit vlastní logger?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- CZechBoY
- Člen | 3608
Zdravím,
chtěl bych si nastavit svůj logger v Tracy.
Funkcionalita je jasná, chci v produkčním režmu použít klasickej logger
do souboru a v debug režimu vyhodit exception.
Problém mám teda už při registraci do konfiguráku. Zkoušel jsem
services:
tracy.logger:
class: Tracy\ILogger
create: App\DebugProductionLogger
arguments: [%appDir%/../log]
ale když loguju přes Debugger::log('zprava')
tak se vždy
použije defaultní Tracy\Logger
.
Co dělám špatně?
Díky.
- harmim
- Člen | 26
Nevím, jestli ti to nějak pomůže, ale možná, že by ses mohl nějakým způsobem inspirovat implementací Monologu od Kdyby https://github.com/…xtension.php
- Jan Tvrdík
- Nette guru | 2595
@CZechBoY Tracy je statická a DI-nekompatibilní, musíš (aspoň zatím) ručně zavolat
Tracy\Debugger::setLogger($container->getByType(Tracy\ILogger::class));
Založil jsem na to issue, snad to někdo implementuje. Nebo jestli nechceš jen pasivně čekat, tak pošli PR. @DavidMatějka k tomu na Gitteru prozradil spoilery.