Monolog는 PHP 기반의 비교적 완전하고 쉽게 확장 가능한 로깅 라이브러리입니다. 현재 Symfony, Laravel, CakePHP 등 잘 알려진 많은 PHP 프레임워크에는 Monolog가 내장되어 있습니다. Monolog는 로그를 파일, 소켓, 받은 편지함, 데이터베이스 및 다양한 웹 서비스로 보낼 수 있습니다.
Monolog는 PSR3 인터페이스 사양을 따르며 동일한 사양을 따르는 다른 로깅 라이브러리로 쉽게 대체될 수 있습니다. Monolog는 확장성이 우수합니다. Handler, Formatter 및 Processor 인터페이스를 통해 Monolog 클래스 라이브러리를 다양한 방식으로 확장하고 사용자 정의할 수 있습니다.
기본 사용법
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; // 创建日志频道 $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // 添加日志记录 $log->addWarning('Foo'); $log->addError('Bar');
핵심 개념
각 Logger 인스턴스에는 채널 이름(채널)과 핸들러 스택이 포함되어 있습니다. 레코드를 추가하면 레코드는 핸들러 스택을 통해 처리됩니다. 각 핸들러는 다음 스택의 다음 핸들러에 레코드를 전달할지 여부도 결정할 수 있습니다.
핸들러를 통해 복잡한 로그 작업을 구현할 수 있습니다. 예를 들어 StreamHandler를 스택 맨 아래에 놓으면 결국 모든 로그 레코드가 하드 디스크 파일에 기록됩니다. 동시에 MailHandler를 스택 상단에 배치하고 로그 수준을 설정하여 이메일을 통해 오류 로그를 보냅니다. Handler에는 $bubble 속성이 있습니다. 이 속성은 핸들러가 레코드를 가로채서 다음 핸들러로 이동하는 것을 방지하는지 여부를 정의합니다. 따라서 MailHandler의 $bubble 매개변수를 false로 설정하면 오류 로그가 발생할 때 로그가 StreamHandler를 통해 하드 디스크에 기록되는 대신 MailHandler를 통해 전송됩니다.
여러 로거를 생성할 수 있으며 각각 고유한 채널 이름과 핸들러 스택을 정의할 수 있습니다. 핸들러는 여러 로거 간에 공유될 수 있습니다. 채널 이름이 로그에 반영되어 로그 기록을 더 쉽게 보고 필터링할 수 있습니다.
로그 형식(포맷터)이 지정되지 않은 경우 핸들러는 기본 포매터를 사용합니다.
로그 수준은 현재 RFC 5424에 정의된 8가지 수준(디버그, 정보, 알림, 경고, 오류, 심각, 경고, 긴급)이 사용됩니다. 로그 레코드에 대한 다른 요구 사항이 있는 경우 Processo를 통해 로그 레코드에 콘텐츠를 추가할 수 있습니다.
로그 수준
DEBUG(100): 자세한 디버그 정보입니다.
INFO(200): 주요 이벤트.
NOTICE(250) : 평범하지만 중요한 이벤트입니다.
경고(300): 오류가 아닌 예외가 발생했습니다.
ERROR (400): 런타임 오류이지만 즉시 처리할 필요는 없습니다.
CRITICA(500): 심각한 오류입니다.
EMERGENCY(600): 시스템을 사용할 수 없습니다.
이 사이트의 모든 리소스는 네티즌이 제공하거나 주요 다운로드 사이트에서 재인쇄되었습니다. 소프트웨어의 무결성을 직접 확인하십시오! 이 사이트의 모든 리소스는 학습 참고용으로만 사용됩니다. 상업적 목적으로 사용하지 마시기 바랍니다. 그렇지 않으면 모든 결과에 대한 책임은 귀하에게 있습니다! 침해가 있는 경우 당사에 연락하여 삭제하시기 바랍니다. 연락처: admin@php.cn
관련 기사
16 Jan 2025
프로젝트 전반에 걸쳐 여러 로깅 라이브러리를 저글링하는 데 지치셨나요? 일관되지 않은 오류와 메타데이터 로깅으로 인해 불만이 있으신가요? 오픈 소스 솔루션인 LogLayer는 로깅 프로세스를 간소화하고 개발자 경험을 향상시킵니다. LogLayer란 무엇입니까? 로그레이어
15 Jan 2025
HeroQR: 당신의 꿈의 PHP QR 코드 생성 라이브러리 아직도 PHP에서 QR 코드 생성이 걱정되시나요? 더 이상 망설이지 마세요! ?QR 코드 생성을 쉽고 강력하며 유연하게 만들도록 설계된 고급 오픈 소스 PHP 라이브러리인 HeroQR을 소개하게 되어 기쁘게 생각합니다. HeroQR을 선택하는 이유는 무엇입니까? HeroQR은 사용자 정의 가능성과 사용 용이성이 뛰어납니다. 간단한 QR 코드 솔루션을 찾는 초보자이든 고급 기능이 필요한 숙련된 개발자이든 HeroQR은 필요한 모든 것을 갖추고 있습니다. HeroQR의 주요 기능 HeroQR은 개발자에게 QR 코드를 생성하고 사용자 정의할 수 있는 강력한 도구를 제공하도록 설계되었습니다. 뛰어난 기능에 대한 간략한 개요는 다음과 같습니다. 크기 조정이 가능한 추가 기능을 갖춘 탁월한 사용자 정의
28 Dec 2024
PHP 라이브러리는 플러그인, 구성 요소 모델, 모듈 등 응용 프로그램의 어느 곳에서나 액세스할 수 있기 때문에 편리합니다. 누군가 이미 비슷한 문제를 해결하고 라이브러리로 설계했다면(심지어 업데이트까지) 의미가 있습니다.
12 Jan 2025
github 링크: https://github.com/hoangtien2k3/reactify-core 1. 도서관 개요 이 라이브러리는 반응형 프로그래밍을 지원하는 두 가지 강력한 도구인 Spring WebFlux 및 Reactor-Core의 핵심 구성 요소를 기반으로 구축되었습니다. 이 라이브러리를 사용하면
05 Jan 2025
Go(golang)에서 fmt 패키지는 콘솔이나 기타 입력 소스의 입력을 검색하기 위한 여러 기능을 제공합니다. 나에게 있어 이러한 기능은 테스트 및 기타 여러 분야에서 항상 유용했습니다. 그리고 지금까지 저는 스카니를 할 때 주로 4가지 기능을 사용합니다.
01 Jan 2025
특수 문자를 사용하여 개체 속성에 액세스마침표 또는 기타 특수 문자를 사용하여 개체 속성에 액세스...
Hot Tools
종속성 주입 컨테이너용 PHP 라이브러리
종속성 주입 컨테이너용 PHP 라이브러리
50개의 뛰어난 클래식 PHP 알고리즘 모음
클래식 PHP 알고리즘, 훌륭한 아이디어를 배우고 사고력을 확장하세요
이미지 최적화를 위한 작은 PHP 라이브러리
이미지 최적화를 위한 작은 PHP 라이브러리