박주니 개발 정리

laravel log channels 적용 응용편 본문

라라벨

laravel log channels 적용 응용편

박주니 2024. 1. 25. 17:04
728x90
반응형

설명전)

먼저 시작전에 laravel log channels 적용 기본편부터 보시는것을 추천합니다. 

 

1. config/logging.php 에서 'channels'에서 driver을 daily로 설정하고 log가 어떻게 생성되는 지 확인합니다. 

'channels' => [
        'test' => [
            'driver' => 'daily', 
            'path' => storage_path('logs/test.log'),
            'level' => 'debug',
        ],
]

설명)

driver가 'single'일 때는 test.log로 나오고 'daily'로 설정하면 test-(생성 날짜).log로 나오는 것을 확인하실 수 있습니다. 

driver가 daily로 설정해야하는 이유는 에러가 발생이 되었을 때 문제 발생된 기간에 log를 찾아서 해결하기 위한 것도 있고 log가 필요이상으로 쌓이는 것을 방지하기 위한 부분도 있습니다. 

 

2. 로그 파일을 보관할 일수 'days'를 설정합니다. 

'channels' => [
        'test' => [
            'driver' => 'daily', 
            'path' => storage_path('logs/test.log'),
            'level' => 'debug',
            'days' => 7
        ],
]

설명)

'days'를 예를 들어서 7로 설정했으면 7일이 넘어간 log는 제거한다는 의미입니다. 로그 보관 일수를 원하는 날로 재설정하시면 됩니다. 

 

FTPS방식으로 ec2에 올리고 있는 상황

만약에 이미 FTPS방식으로 서버를 운영하고 있을경우 보통 aws환경은 ubuntu이고 local 환경에서는 nginx 환경에 따라 vagrant가 owner일수도 있고 php 생성될 때 www-data라해도 여러변수가 존재할 수 있습니다. 

그렇기 때문에 파일을 올릴 때 log권한 충돌로 인해 cors 에러가 발생될 수 있는데 그럴 경우 그전에 storage 권한을 777로 설정하고나서 log channels에도 별도로 설정해야할 부분이 있습니다. 

'channels' => [
        'test' => [
            'driver' => 'daily', 
            'path' => storage_path('logs/test.log'),
            'level' => 'debug',
            'days' => 7,
            'permission' => 0666
        ],
]

설명) 

permission을 추가해서 지금 0666이면 전체 권한을 허용해주는 의미입니다. 원하시는 정도에 권한을 찾아서 넣으시면 됩니다. 

 

 

728x90
반응형
Comments