Как сохранить пользовательский файл журнала в Laravel 5.6? - PullRequest
0 голосов
/ 30 августа 2018

Я совершенно новичок в laravel, я использую laravel 5.6. и я пытаюсь создать собственный файл журнала. Я гуглил, но не смог найти.

Я сделал здесь канал в config / logging.php:

        'userLogin' => [
        'driver' => 'daily',
        'path' => storage_path('logs/user.log'),
        'level' => 'info',
    ],

и использовал его в моем контроллере:

use Log; 
Log::channel('userLogin')->info('A transaction has been made!');

но это вообще не запись в файл.

Ответы [ 2 ]

0 голосов
/ 02 июня 2019

это моя конфигурация регистрации

    <?php

use Monolog\Handler\StreamHandler;

return [

    /*
    |--------------------------------------------------------------------------
    | Default Log Channel
    |--------------------------------------------------------------------------
    |
    | This option defines the default log channel that gets used when writing
    | messages to the logs. The name specified in this option should match
    | one of the channels defined in the "channels" configuration array.
    |
    */

    'default' => env('LOG_CHANNEL', 'stack'),

    /*
    |--------------------------------------------------------------------------
    | Log Channels
    |--------------------------------------------------------------------------
    |
    | Here you may configure the log channels for your application. Out of
    | the box, Laravel uses the Monolog PHP logging library. This gives
    | you a variety of powerful log handlers / formatters to utilize.
    |
    | Available Drivers: "single", "daily", "slack", "syslog",
    |                    "errorlog", "monolog",
    |                    "custom", "stack"
    |
    */

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['single', 'singleInfo', 'singleAlert', 'singleWarning', 'singleCritical', 'singleEmergency'],
        ],

        'single' => [
            'driver' => 'single',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
        ],
        'singleInfo' => [
            'driver' => 'single',
            'path' => storage_path('logs/info.log'),
            'level' => 'info',
        ],
        'singleAlert' => [
            'driver' => 'single',
            'path' => storage_path('logs/alert.log'),
            'level' => 'alert',
        ],
        'singleWarning' => [
            'driver' => 'single',
            'path' => storage_path('logs/warning.log'),
            'level' => 'warning',
        ],
        'singleCritical' => [
            'driver' => 'single',
            'path' => storage_path('logs/critical.log'),
            'level' => 'critical',
        ],
        'singleEmergency' => [
            'driver' => 'single',
            'path' => storage_path('logs/emergency.log'),
            'level' => 'emergency',
        ],

        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 0,
        ],

        'slack' => [
            'driver' => 'slack',
            'url' => env('LOG_SLACK_WEBHOOK_URL'),
            'username' => 'Laravel Log',
            'emoji' => ':boom:',
            'level' => 'critical',
        ],

        'stderr' => [
            'driver' => 'monolog',
            'handler' => StreamHandler::class,
            'with' => [
                'stream' => 'php://stderr',
            ],
        ],

        'syslog' => [
            'driver' => 'syslog',
            'level' => 'debug',
        ],

        'errorlog' => [
            'driver' => 'errorlog',
            'level' => 'debug',
        ],
    ],

];
0 голосов
/ 30 августа 2018

Ваш код выглядит правильно. Я предполагаю, что это проблема с правами доступа, связанная с вашим файлом журнала. Попробуйте изменить файл журнала на файл журнала laravel по умолчанию: storage_path ('logs / laravel.log'). Если это решает проблему, то проблема либо в том, что файл logs / user.log еще не существует, и ваша система хочет, чтобы вы создали его вручную, либо файл существует, но не имеет надлежащих разрешений. Поскольку я не знаю вашу файловую систему и т. Д., Я не могу дать четких инструкций по настройке разрешений, но я был бы рад помочь, если вы дойдете до этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...