Slack logger for Nette / Tracy
- greeny
- Člen | 405
I recently wrote simple Slack logger for Nette.
Usage is simple, read more in readme at Github.
Any ideas or bug reports are welcome
Editoval greeny (12. 2. 2016 11:47)
- o5
- Člen | 416
@greeny: Minulý týden jsem rovněž psal PHP klienta pro Slack :))
Jen takový drobný hint. Při pohledu na tvojí implementaci mě napadlo,
že by tvoje metoda sendSlackMessage()
mohla být asynchronní. V PHP to lze (trochu krkolomě a s exec
)
řešit takto:
/**
* Fork a curl process is the "async magic".
* @param array $data
* @return bool
*/
private function asyncRequest(array $data)
{
$payload = json_encode($data);
$cmd = "curl -X POST --data-urlencode 'payload=$payload' {$this->config['hookUrl']}";
if ($this->debug === FALSE) {
$cmd .= " > /dev/null 2>&1 &";
}
exec($cmd, $output, $exit);
return $exit == 0;
}
BTW: Sice tři roky starý, ale celkem pěkně shrnující článek: How to Make Async Requests in PHP
Editoval o5 (15. 2. 2016 21:55)
- o5
- Člen | 416
to je sice hezké, ale tím vytvářím závislost na curl
@greeny máš pravdu, ale myslím si, že člověk co bude řešit Slack integraci bude mít prostor si na serveru provozovat co chce. Ale pokud to má být pouze logování v případě chyby, kdy web bude zobrazovat error 500 tak asynchronita asi nutná není.
- greeny
- Člen | 405
Vydána verze 1.1.0
Novinky:
Nové třídy:
- MessageFactory (a IMessageFactory)
- Message (a IMessage)
- MessageSendEvent
Možnost detailní konfigurace poslané zprávy (compile-time i runtime)
Dokumentace viz GitHub (readme)
Připomínky, nápady i PR vítány!
Editoval greeny (18. 3. 2016 16:15)
- Michal Hlávka
- Člen | 190
Není to trochu overkill? Stačí cron
* * * * * /bin/grep "$(/bin/date -d -1min +'\%Y-\%m-\%d \%H-\%M')" /.../log/exception.log | /.../php -c /.../php.ini /.../index.php Cli:Cli:slackExceptionWebHoo
a v něm si načíst stdin a třema řádkama si to poslat do Slacku :)
Editoval emptywall (17. 8. 2016 10:30)
- reflex
- Člen | 28
emptywall napsal(a):
Není to trochu overkill? Stačí cron
* * * * * /bin/grep "$(/bin/date -d -1min +'\%Y-\%m-\%d \%H-\%M')" /.../log/exception.log | /.../php -c /.../php.ini /.../index.php Cli:Cli:slackExceptionWebHoo
a v něm si načíst stdin a třema řádkama si to poslat do Slacku :)
Na sdilenem hostingu by to tak jednoduse neslo (ok slo :D ale..), ale nevidim v tom zadne plus
Nakonec jsem si udelal vlastni implementaci Tracy\Logger
Editoval reflex (17. 8. 2016 10:39)