Vlastni logger, posilani chyb emailem s bluescreenem
- Blujacker
- Člen | 89
Zdravim,
snazim se rozsirit \Tracy\Logger o posilani emailu i s prilozenym nagenerovanym html souborem s celym popisem chyby. Muj postup je nasledujici:
V config.neon
services:
tracy.logger:
autowired: no
- App\Lib\CustomTracyLogger("%tempDir%", 'mail@mail.cloud')
konstruktor CustomTracyLogger
public function __construct($directory, $email, \Nette\Mail\IMailer $mailer, \Tracy\BlueScreen $blueScreen)
{
$this->directory = $directory;
$this->email = $email;
$this->blueScreen = $blueScreen;
$this->mailer = $mailer;
}
a pak mam pretizenou metodu log
a
sendEmail($message, $file = NULL)
, ktera posila email s prilohou
$file
.
Vse funguje spravne, email prijde i s prilohou, ale ten bluescreen je bez mych custom panelu, ktere pridavam v configu pres:
tracy:
bar:
- \App\Lib\ApiDebugBar
Pokud pouziji defaultni implemetaci \Tracy\Logger
tak
exportovana html chyba vlastni panely obsahuje.
Dekuji!
- Blujacker
- Člen | 89
Antik napsal(a):
Export html stránky neobsahuje bar. K posílání html v příloze nepotřebuješ přetěžovat metodu log.
Pretezovat ji myslim musim, protoze defaultni implementace ma pouze metodu
protected function sendEmail($message)
Ja teto metode ale potrebuji take poslat jmeno souboru s chybou kterou chci
prilozit, takze jsem pretizil metodu log a zmenil
$this->sendEmail($message);
na
$this->sendEmail($message, $exceptionFile);
. Pokud to jde nejak,
budu rad za radu.
Spatne jsem se vyjadril, nemyslim bar ale panel (https://tracy.nette.org/en/extensions), ktery se mi v error html souboru s defaultnim loggerem vyskytuje (napr. http://oi66.tinypic.com/ndugde.jpg).
Dekuji!
- Ja
- Člen | 260
@Blujacker zdravim, snazim se o neco podobneho, tzn. implementovat si vlastni logger a upravit si email, ktery z nette pri chybe chodi, akorat nemuzu zadnym zpusobem nette primet, aby se pouzila ta moje vlastni trida, nemohl bys prosim nasdilet sve reseni?
Nebo kde by tam mohlo byt nejake uskali? Udelal jsem to stejne jako ty, ale nejsem si jistej, zda ta moje trida ma implementovat ILogger rozhrani a extendovat puvodni logger?
Diky za pripadny postrceni
--------- edit -----------
jeste doplnim config.neon
<?php
tracy.logger:
autowired: no
class: App\Libs\MyLogger
arguments: [%appDir%/../log]
?>
Editoval Ja (28. 2. 2016 8:01)