Laravel에서 특정 레벨을 기록하는 것에 대해 생각한 적이 있습니까? 물론
구성 옵션을 사용하여 최소 레벨을 로그로 지정할 수 있지만 및 로그를 특정 로거에 로그인하려면 어떻게해야합니까?
CLI 명령을 쓰고 있다고 가정하고 로그를 및 로 나누고 싶다고 가정합니다. Laravel Zero 또는 Artisan과 같은 도구를 사용하면 다음 명령이있을 수 있습니다. level
로그를 위치로 보내는 것만으로 만 표시 할 수 있습니다.
그런 다음 로그는 다음과 같이 보일 수 있습니다
Debug
로그에는 Info
및 레벨에 로그 정보가 포함되어 있습니다.
로그 레벨을 필터링하기 위해 laravel을 구성하십시오
Laravel Loggers를 분할 로그로 구성하는 트릭은 Monolog 's 를 사용하는 것입니다. 직접적인 예는 다음과 같습니다. stdout
stderr
Laravel의 구성 파일에서 를 구성하는 방법을 설명하기 위해 여기에서 명명 된 매개 변수가 사용됩니다. 다음 구성 변경을 stderr
로그 채널 (또는 새 채널 생성)으로 사용할 수 있습니다.
키는 생성자의 명명 된 매개 변수와 어떻게 일치합니까? 로거는 디버그 및 정보 로그를 기록하고 로거는 php artisan my-command 2> storage/logs/stderr.log
로그인 후 복사
로 설정되어 알림 또는 더 높은 CLI 오류를 포착합니다.
나는 또한 monolog가 stderr
핸들러의 폐쇄를 받아 들여 인스턴스가 로그 채널을 사용할 때만 생성되도록 지적하고 싶습니다 : .
이런 방식으로 로그를 잡는 것은 컨테이너에서 로그 서비스로 로그를 보낼 때 헤드리스/데몬 CLI 명령에 유용합니다. 예를 들어, JSON을 사용하여 Datadog와 같은 서비스를 사용할 수 있도록 오류 로그를 포맷하십시오. 다음은 <code>[2024-10-01 02:48:49] development.ERROR: The daemon has run too many times. (6 times now, come on!)
[2024-10-01 02:48:52] development.ERROR: The daemon has run too many times. (7 times now, come on!)
...</code>
로그인 후 복사
파일에 설명 된 환경 설정의 예입니다.
monolog는 Laravel에서 구성하는 데 사용할 수있는 많은 핸들러, 포피터 및 프로세서를 제공하며 모든 일반적인 사용 사례는 이미 stdout
구성 파일로 덮여 있습니다. INFO
공식 문서의 Laravel 애플리케이션에 로그인하는 것에 대해 자세히 알아볼 수 있습니다. DEBUG
위 내용은 Laravel을 사용한 stdout과 stderr 사이의 로그 레벨을 분할합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!