Wie werden Kanäle in Symfony Monolog definiert?Php

PHP-Programmierer chatten hier
Guest
 Wie werden Kanäle in Symfony Monolog definiert?

Post by Guest »

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:

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
Jetzt habe ich in derselben Datei unter „Dienste“ Folgendes:

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"
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

Code: Select all

 $logger = $this->get("logger");
$logger->debug("hello world");
in meinem Code erhalte ich dieses Protokoll in der Konsole:

Code: Select all

[2014-05-16 15:38:15] app.DEBUG: hello world [] []
Ich sehe diese auch in der Konsole:

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
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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post