Slack logger for Nette / Tracy

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

I recently wrote simple Slack logger for Nette.

Github | Componette

Usage is simple, read more in readme at Github.

Any ideas or bug reports are welcome

Editoval greeny (12. 2. 2016 11:47)

Oli
Člen | 1215
+
0
-

Víš že jsi to založil 2× v české sekci s anglickým textem? :-)

Každopádně vyzkouším. Tenhle tejden jsem si říkal, že se na to zkusím podívat a něco si napsat, takže super že už to je! ;-)

greeny
Člen | 405
+
0
-

Já tak nějak zapomněl na češtinu :) Druhej post jsem smazal… :)

Jakýkoliv připomínky uvítám, bylo to narychlo napsaný a určitě by to šlo vylepšit :)

Editoval greeny (12. 2. 2016 11:48)

o5
Člen | 416
+
0
-

@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)

greeny
Člen | 405
+
+1
-

@o5 to je sice hezké, ale tím vytvářím závislost na curl :)

CZechBoY
Člen | 3608
+
0
-

@greeny No s vypnutým allow_url_fopen to bez curlu stejně asi nestáhneš.

o5
Člen | 416
+
0
-

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
+
0
-

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)

reflex
Člen | 28
+
0
-

Funguje slack logger pod Nette 2.4? Pokud jo, tak delam neco spatne :]

GEpic
Člen | 566
+
0
-

reflex napsal(a):

Funguje slack logger pod Nette 2.4? Pokud jo, tak delam neco spatne :]

Je to cca půl roku staré vlákno i repo, je pravděpodobné že se objeví nějaká „deprecated“ noticka nebo hůř. :)

Editoval GEpic (17. 8. 2016 1:52)

Michal Hlávka
Člen | 190
+
0
-

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
+
0
-

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)

greeny
Člen | 405
+
0
-

Čau, co ti to vyhazuje? pod 2.4 jsem to ještě netestoval, mrknu na to a když něco najdu, tak vydám fix :)