본문 바로가기

리눅스

Laravel 애플리케이션의 요청에 대한 로그를 파일에 기록하는 방법

반응형

Laravel 애플리케이션의 요청에 대한 로그를 파일에 기록하는 방법

Laravel에서는 내장된 Monolog 라이브러리를 사용하여 로그를 관리합니다. Monolog을 통해 로그를 파일로 기록하고 관리할 수 있습니다. 따라서 Laravel의 access 로그를 남기기 위해서는 Monolog을 구성하여 원하는 형식으로 로그를 기록하면 됩니다.

1. 환경 설정 변경

config/logging.php 파일을 편집합니다.

vim config/logging.php

2. 로그 채널 추가

access 채널을 추가합니다.

<?php

use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
use Monolog\Processor\PsrLogMessageProcessor;

return [
...
        'emergency' => [
            'path' => storage_path('logs/laravel.log'),
        ],
        'access' => [
            'driver' => 'single',
            'path' => storage_path('logs/access.log'),
            'level' => 'info',
        ],

    ],

];

storage/logs 디렉토리에 access.log라는 파일로 접근 로그가 기록됩니다.

3. 로그 사용

로그를 사용하려면 컨트롤러나 라우트 등에서 로그를 호출합니다.

vim routes/web.php
<?php

use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Log;

Log::channel('access')->info('Access log message');
...

4. 권한 설정

로그 파일에 쓰기 권한을 주어야 합니다.

chmod -R 775 storage/logs

5. 접근 로그 확인

tail -f storage/logs/access.log
$ tail -f storage/logs/access.log 
[2024-05-20 03:10:18] local.INFO: Access log message  
[2024-05-20 03:10:40] local.INFO: Access log message  
[2024-05-20 03:10:41] local.INFO: Access log message  
[2024-05-20 03:10:41] local.INFO: Access log message  
[2024-05-20 03:10:41] local.INFO: Access log message  
[2024-05-20 03:10:41] local.INFO: Access log message

 

Laravel 애플리케이션의 접근 로그를 storage/logs/access.log 파일에 기록합니다.

 

참고URL

- Laravel Documentation : Logging

 

728x90
반응형