Wie werden Kanäle in Symfony Monolog definiert?
Posted: 16 Jan 2025, 09:35
Ich habe mehrere Stunden damit verbracht, die Monolog-Dokumentation durchzugehen. Und konnte diese grundlegende Frage einfach nicht beantworten: Wie werden Kanäle in Monolog definiert? Ich habe dieses Symfony2-Projekt, das Folgendes in der Datei config.yml enthält:
Jetzt habe ich in derselben Datei unter „Dienste“ Folgendes:
womit im Grunde die Protokollmeldung angepasst wird. Das ist ganz schön.
der Teil, den ich nicht mache. Ich verstehe, was bedeutet api_low? Wo ist es definiert? Wie unterscheidet sich api_low von api? Ich sehe hier zum Beispiel, dass der Name des Handlers derselbe ist wie der Kanal (dh der API-Handler hat einen API-Kanal). Aber ich weiß nicht, was ich davon halten soll
Wenn ich einfach ein
eingebe
in meinem Code erhalte ich dieses Protokoll in der Konsole:
Ich sehe diese auch in der Konsole:
Einige davon sind offensichtlich: Die Lehre stimmt mit verwandten Dingen überein, aber ich weiß einfach nicht, wo ich eine Definition oder einen Verweis für diese Dinge finde.
anders gefragt: Ist api_low ein durch Monolog definierter Sonderschlüssel? Wenn ja, wo ist die Dokumentation dazu? Ich konnte im gesamten Code keine Instanz dieser Zeichenfolge finden, daher gehe ich davon aus, dass es sich um eine vordefinierte Variable handelt, oder?
Code: Select all
monolog:
handlers:
api:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_api_request_raw.log"
channels: api
formatter: monolog.formatter.session_api
api_low:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_api_request_low.log"
channels: api_low
formatter: monolog.formatter.session_api
car_location:
type: stream
path: "%kernel.logs_dir%/car locations/%kernel.environment%_carLocation_not-recognized.log"
channels: not_recognized
level: %log_debug_level%
formatter: monolog.formatter.session_location
active_request:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_api_active_request.log"
channels: active_request
level: %log_debug_level%
formatter: monolog.formatter.session_location
get_request:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%_api_get_request.log"
channels: get_request
level: %log_debug_level%
formatter: monolog.formatter.session_location
Code: Select all
services:
monolog.formatter.session_location:
class: Monolog\Formatter\LineFormatter
arguments:
- "[%%datetime%%] %%level_name%%: %%message%%\n"
monolog.formatter.session_api:
class: Monolog\Formatter\LineFormatter
arguments:
- "[%%datetime%%] %%channel%%.%%level_name%%: %%message%%\n"
der Teil, den ich nicht mache. Ich verstehe, was bedeutet api_low? Wo ist es definiert? Wie unterscheidet sich api_low von api? Ich sehe hier zum Beispiel, dass der Name des Handlers derselbe ist wie der Kanal (dh der API-Handler hat einen API-Kanal). Aber ich weiß nicht, was ich davon halten soll
Wenn ich einfach ein
eingebe
Code: Select all
$logger = $this->get("logger");
$logger->debug("hello world");
Code: Select all
[2014-05-16 15:38:15] app.DEBUG: hello world [] []
Code: Select all
[2014-05-16 15:38:08] request.INFO: Matched route "sonata_admin_dashboard" (parameters: "_controller": "St\AdminBundle\Controller\DashboardController::dashboardAction", "_route": "sonata_admin_dashboard") [] []
[2014-05-16 15:38:08] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". [] []
[2014-05-16 15:38:08] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] []
[2014-05-16 15:38:08] security.DEBUG: Read SecurityContext from the session [] []
[2014-05-16 15:38:08] security.DEBUG: Reloading user from user provider. [] []
[2014-05-16 15:38:08] doctrine.INFO: MongoDB query: {"find":true,"query":{"_id":{"$id":"51c8c071efe5b8dd09000003"},"type":{"$in":["user","client","partner"]}},"fields":[],"db":"smarttaxi_dev","collection":"User"} [] []
[2014-05-16 15:38:08] doctrine.INFO: MongoDB query: {"limit":true,"limitNum":1,"query":{"_id":{"$id":"51c8c071efe5b8dd09000003"},"type":{"$in":["user","client","partner"]}},"fields":[]} [] []
[2014-05-16 15:38:08] doctrine.INFO: MongoDB query: {"limit":true,"limitNum":1,"query":{"_id":{"$id":"51c8c071efe5b8dd09000003"},"type":{"$in":["user","client","partner"]}},"fields":[]} [] []
[2014-05-16 15:38:08] doctrine.INFO: MongoDB query: {"limit":true,"limitNum":1,"query":{"_id":{"$id":"51c8c071efe5b8dd09000003"},"type":{"$in":["user","client","partner"]}},"fields":[]} [] []
[2014-05-16 15:38:08] security.DEBUG: Username "aiia" was reloaded from user provider. [] []
[2014-05-16 15:38:08] event.DEBUG: Notified event "kernel.request" to listener "FOS\RestBundle\EventListener\BodyListener::onKernelRequest". [] []
[2014-05-16 15:38:08] event.DEBUG: Notified event "kernel
anders gefragt: Ist api_low ein durch Monolog definierter Sonderschlüssel? Wenn ja, wo ist die Dokumentation dazu? Ich konnte im gesamten Code keine Instanz dieser Zeichenfolge finden, daher gehe ich davon aus, dass es sich um eine vordefinierte Variable handelt, oder?