/ / Lumen Daily Logs - PHP, Laravel, Lumen

Lumen Daily Logs - php, Laravel, Lumen

Ich möchte meinem Lumen-Projekt ein tägliches Protokoll hinzufügen.

Ich versuche das in der app.php (Folder Bootstrap /)

$logFile = "laravel.log";

Log::useDailyFiles(storage_path()."/logs/".$logFile);

Aber das hat mir diesen Fehler gebracht

Aufruf an undefined Methode Monologlogger :: useDailyFiles ()

Jede Hilfe, die ich zu schätzen weiß ... Danke

Antworten:

7 für die Antwort № 1

Wenn Sie den Framework-Quellcode betrachten Hier Sie können sehen, dass es keine täglichen Protokolle macht, sondern in eine einzelne Protokolldatei schreibt lumen.log. Es gibt eine öffentliche Methode configureMonologUsing gesehen Hier und referenziert Hier , die Sie verwenden können, um das Standardverhalten zu überschreiben, ohne die Anwendung zu erweitern.

Lumen legt nur einen Handler auf Monolog fest, eine andere gute Lösung ist, dass Sie dies tun könnten:

<?php

namespace AppProviders;

use IlluminateSupportServiceProvider;
use MonologFormatterLineFormatter;
use MonologHandlerRotatingFileHandler;

class LogServiceProvider extends ServiceProvider
{
/**
* Configure logging on boot.
*
* @return void
*/
public function boot()
{
$maxFiles = 5;

$handlers[] = (new RotatingFileHandler(storage_path("logs/lumen.log"), $maxFiles))
->setFormatter(new LineFormatter(null, null, true, true));

$this->app["log"]->setHandlers($handlers);
}

/**
* Register the log service.
*
* @return void
*/
public function register()
{
// Log binding already registered in vendor/laravel/lumen-framework/src/Application.php.
}
}

Vergessen Sie nicht, den Dienstanbieter zu Ihrer Lumen Bootstrap / app.php hinzuzufügen:

$app->register(AppProvidersLogServiceProvider::class);

1 für die Antwort № 2

In Lumen 5.6 ist es besser, Ihre Standardeinstellung in .env als zu konfigurieren LOG_CHANNEL=daily

Standardmäßig ist die Einstellung LOG_CHANNEL=stack die einzelne Datei für die Protokollierung verwenden.


-3 für die Antwort № 3

Dies ist nach dem Gesetz nicht erforderlich Lumen-Dokumentation:

Standardmäßig ist Lumen so konfiguriert, dass tägliche Protokolldateien für Ihre erstellt werden Anwendung, die im Verzeichnis storage / logs gespeichert ist.

Sie müssten also nichts ändern.