Vlastny sposob odosielania informacie o chybe e-mailom

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
andko
Člen | 2
+
0
-

Ahoj David,

vcera som narazil na potrebu zmenit sposob odosielania e-mailov z ladenky. Dalo sa to pekne vyriesit pomocou:

<?php
Debugger::$mailer = array('MojLogger', 'mailer');
?>

Teraz ale potrebujem zmenit aj logiku kedy e-mail odoslat. Ta je v triede Nette\Diagnostics\Logger, v metode log(). Najprv som si myslel ze bude stacit pouzit podobny sposob ako vcera pri zmene mailera.
Avsak Debugger::$logger, ktory by stacilo prepisat, sa v triede Debugger naplna (r:173) bez ohladu ci uz bol setnuty:

<?php
self::$logger = new Logger;
?>

Vedel by si upravit Debugger tak, aby sa pred tym nez setne defaultny Logger, pozrel ci uz nebol setnuty?

Alebo Ta napada ine riesenie?

Dakujem

llook
Člen | 407
+
0
-

Myslím, že ten Debugger::_init() se volá jenom jednou v loader.php a potom by mělo být možné defaultní Logger nahradit.

Aurielle
Člen | 1281
+
0
-

Přesně tak, _init() se volá jen při načítání Nette.

andko
Člen | 2
+
0
-

Dakujem za odpovede, mate pravdu, pomohlo. Teraz ale zapasim s trochu tvrdsim orieskom:
Ten moj logger ma v prilohe odosielat aj exception file. Ten sa ale vytvori az po odoslani mailu.
Trieda Debugger, riadok 340 vola metodu log (vdaka vasej pomoci tu moju) ale zapis bluescreen do suboru sa deje az od riadku 349.