Writer pro Logstash do JSON formátu (požadavky?)

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

Pro zpracovávání logů se mi docela osvědčila trojice LogstashElasticsearchKibana a velmi rád bych s ní skamarádil i Tracy. Není to přitom vůbec náročné, stačilo by napsat Writer, který uloží error v JSON formátu asi takhle (zkráceně):

{
   "@timestamp": "2015-01-28T13:11:09+0000",
   "@source_host": "stage-server",
   "@source": "muj-super-web",
   "@fields": {
      "x_priority": "error"
   },
   "@message": "Nepodařilo se připojit k databázi..."
}

Rád bych se proto zeptal, zda už to někdo neřešil. Pokud ne, pokusím se takový Writer vyrobit a rád jej dám i k dispozici. Měl by někdo případně nějaké požadavky na funkčnost nebo formu?

Na závěr zamyšlení: Proč podporuje Tracy jen ‚jeden‘ Writer a nemá writer interface (vis. GitHub issue)? Nejednou jsem se setkal s tím, že se do Loggeru přidalo Writerů libovolné množství pomocí addWriter(IWriter $writer) a pak se postupně spouštěly. Mohl by se díky tomu zapsat nejen klasicky Tracy log soubor, ale vedle i json pro Logstash.

Díky za názory :)

David Matějka
Moderator | 6445
+
+1
-

v masteru (a tedy snad za par dni v 2.3) je ILogger interface. Neni tedy problem si napsat vlastni logger. Jestli potrebujes vic loggeru, neni problem si napsat nejaky ChainLogger (rychle jsem nasel jeden od @bazo).. ale je pravda, ze by to klidne mohlo byt primo soucasti tracy :)

Filip Procházka
Moderator | 4668
+
+1
-

Monolog umí logstash. Stačí tedy nainstalovat kdyby/monolog, který jej integruje do nette (a tracy) a nastavit mu logtash :)