반응형

우분투 환경에서 라라벨 프로젝트를 운영중이다

라라벨 로그는 /storage/logs에 저장이 되는데 config/logging.php에서 설정해준다

기본은 stack 이지만, 로그를 확인할때 일자별로 저장되는것이 관리가 편하기 때문에 이부분을 daily로 변경해줬다

 

@config/logging.php

 

이렇게 설정하면 로그 폴더에 아래와 같이 로그파일이 관리된다

 

와~~~~~~~~~ 간단하다

 

하고 끝냈지만 다음날 서버 접속시 500에러 발생

로그를 찾아보니 permission denied 오류가 발생했는데

원인은 위의 일자별 로그파일의 Owner, Group이 www-data가 아닌 유저로 할당되어 www-data의 권한이 없기 때문이다

 

급하게 chown 으로 로그파일 권한설정을 변경해서 고쳤지만

매번 권한설정을 바꾸는거는 바보같은짓이고

자정에 chown으로 권한설정을 바꾸도록 크론탭 설정하는것도 썩 좋은방법은 아닐거같았다

(DB는 크론탭으로 백업하고 있으니까 라라벨도 크론탭으로 백업하는게 좋은걸까 라는 생각도 들기도하고.....휴)

 

무튼 찾다가 보니 아래와 같은 방법이 있어서 시도해봄

 

@config/logging.php

        'daily' => [
            'driver' => 'daily',
	    //'path' => storage_path('logs/laravel.log'),
	    'path' => storage_path('logs/laravel-'.php_sapi_name().'.log'),
            'level' => env('LOG_LEVEL', 'debug'),
            'days' => 14,
            'permission' => 0664,
        ],

 

일단 뭔진 모르겠지만 이렇게 설정해보았다

다음날 로그파일 확인시 아래와같이 일자별로 두개 파일이 생성된것을 확인했다

위의 laravel-apache2handler 파일은 Owner, Group이 www-data이고

laravel-cli 파일은 서버유저가 Owner, Group

 

 

그래서 저게 뭔지 알아보자

  • php_sapi_name
    PHP가 사용하고 있는 인터페이스(서버 API, SAPI)의 형을 소문자 문자열로 반환합니다. 예를들어, CLI판의 PHP는 "cli"가 된다. Apache와 함께 사용하는 경우, 실제 사용하고 있는 SAPI에 대해 여러 결과가 반환된다.

나의 경우 cli가 반환된거 보니 CLI판의 PHP인것으로 추정되는데 php -v 커맨드에서 확인할수 있었다

  • CLI : Command Line Interface의 약어로 시스템 명령줄에서 PHP를 사용하는 방법, CGI도 있는데 대부분 CLI를 사용한다고 한다. 차이점은 궁금하면 찾아보시길

 

일단 이렇게 마무리하려고 한다

파일이 두개 생기는 부담은 있지만

더 좋은 방법을 찾으면 업데이트 하는걸로~

 

참고자료

https://qiita.com/meiyin/items/1ffafb22854dcef06f98

 

Logファイルの権限エラーの解決方法(Laravel) - Qiita

プログラミング初心者です##環境Laravel 5.8PHP 7.3.29AWS EC2 にてデプロイ##問題データ処理送信を行う際、loggerメソッドでlogを記載しようとしたが、当…

qiita.com

https://www.php.net/manual/ja/function.php-sapi-name.php

 

PHP: php_sapi_name - Manual

The php_sapi_name() function is extremely useful when you want to determine the type of interface. There is, however, one more gotcha you need to be aware of while designing your application or deploying it to an unknown server.Whenever something depends o

www.php.net

 

반응형

+ Recent posts