Slack als Logger für Symfony nutzen

Symfony bietet zahlreiche Möglichkeiten, um Logfiles zu erstellen.
Neben den klassischen Logfiles im Dateisystems kann man z.B. auch Syslog nutzen, Mails versenden, Elastissearch oder MongoDb nutzen.

Das Problem bei den meisten Logfiles: Niemand schaut sie sich an und wenn man sie braucht, weiss kein Mensch wo sie liegen.

Eine weitere interessante Möglichkeit ist es deshalb, wichtige Systemnachrichten direkt in eigenen Slack Channel zu schicken.
So können alle zuständigen Mitarbeiter diesen Channel abonnieren und es muss nicht immer ein Entwickler auf dem Server in Logfiles wühlen.
Da die meisten Entwickler ohnehin Slack nutzen, ist die Einrichtung schnell gemacht.

Um Slack zu nutzen, muss man in der config.yml einfach den entsprechenden Handler eintragen:

 
monolog: 
...
 handlers: slack: 
 type: slack 
 token: '%slack_api_token%' 
 channel: '%slack_channel_name%' 
 bot_name: Logger 
 icon_emoji: :bangbang: 
 level: error

Das Slack Api Token und den Channel muss man direkt in seinem Slack Account erstellen.
Dazu muss man unter https://api.slack.com/apps zuerst eine App erstellen

Den App Namen kann man frei wählen, als Workspace muss der Workspace ausgewählt werden, in dem die Lognachrichten erscheinen sollen.

Auf der folgende Seite muss dann noch die Berechtigungen für die neue App einstellen.

Wichtig ist, dass die App Chatnachrichten schreiben darf:

 

Danach muss man die App in dem Workspace installieren:

Auf der folgenden Seite erhält man das OAuth Access Token.

Diese Tokens muss man in der Symfony parameters.yml als slack_api_token  eintragen.

Ist das ganze vollständig eingerichtet, so kann man Log Informationen direkt an Slack schicken, bzw. werden Systemereignisse automatisch an Slack geschickt, je nach eingestelltem Log Level.
Man sollte als Level also nicht unbedingt „debug“ einstellen, da dann einfach zu viel geloggt wird und die wichtigen Nachrichten eher untergehen.

Als kleines Bonbon kann man sogar noch ein Emoji auswählen, dass für die Lognachrichten verwendet wird.
Dazu einfach beim Konfigurationsparamer „icon_emoji“ das gewünschte Emoji eintragen.
Eine Übersichtliste gibt es hier:
https://www.webpagefx.com/tools/emoji-cheat-sheet/

Natürlich sollte man bedenken, dass man, sofern man nur einen kostenlosen Slack Account nutzt, nur eine bestimmte Anzahl von Nachrichten in der Slack History anzeigen und durchsuchen kann.

Dieser Beitrag wurde unter Symfony veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Die Kommentarfunktion ist geschlossen.