Я хочу добавить в свой проект Lumen ежедневный журнал.
Я пробую это в app.php (Folder Bootstrap /)
$logFile = 'laravel.log'; Log::useDailyFiles(storage_path().'/logs/'.$logFile);
Но это установило мне эту ошибку
Вызов неопределенного метода Monolog \ logger :: useDailyFiles ()
Любая помощь, которую я ценю … Спасибо
Если вы посмотрите на исходный код рамки, вы увидите, что он не будет делать ежедневные журналы, а скорее записывается в один файл журнала lumen.log
. Существует общедоступный метод, доступный configureMonologUsing
рассматривается здесь и упоминается здесь, что вы можете использовать для переопределения поведения по умолчанию без расширения приложения.
Lumen просто устанавливает обработчик монолога, так что еще одно хорошее решение – вы можете это сделать:
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Monolog\Formatter\LineFormatter; use Monolog\Handler\RotatingFileHandler; 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. } }
Затем не забудьте добавить поставщика услуг в ваш Lumen bootstrap / app.php:
$app->register(\App\Providers\LogServiceProvider::class);
Это не обязательно в соответствии с документацией по просвету :
По умолчанию Lumen настроен на создание ежедневных файлов журнала для вашего приложения, которые хранятся в каталоге хранилищ / журналов.
Поэтому вам нечего было менять.