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
관련 기사
27 Oct 2023
PHP 개발 실습: 온라인 도서관 플랫폼 구축 지속적인 기술 개발로 인해 전통적인 도서관 서비스 모델은 점차 디지털 및 온라인 도서관 플랫폼으로 대체되고 있습니다. 보다 편리하고 효율적인 도서관 서비스를 제공하고자 하는 기관이나 단체에게 온라인 도서관 플랫폼을 구축하는 것은 매우 효과적인 방법입니다. 이 기사에서는 PHP를 사용하여 모든 기능을 갖춘 사용자 친화적인 온라인 라이브러리 플랫폼을 개발하는 방법을 소개합니다. 1. 요구사항 분석 온라인 도서관 플랫폼을 구축하기 전에 먼저 플랫폼의 기능을 명확히 해야 합니다.
14 May 2023
인터넷 기술이 지속적으로 발전하고 발전함에 따라 점점 더 많은 애플리케이션이 대량의 데이터와 요청을 처리해야 합니다. 애플리케이션이 정상적으로 실행되고 문제가 적시에 감지될 수 있도록 하려면 문제 해결을 위한 로그 기록이 특히 중요해졌습니다. 로깅은 시스템 작동을 추적하고 기록하는 데 사용되는 정보 기록 방법입니다. PHP에서 Monolog는 개발자가 애플리케이션을 더 효과적으로 디버그하고 최적화하는 데 도움이 되는 일련의 강력한 로깅 방법을 제공하는 인기 있는 로깅 라이브러리입니다. 모노로그몬 소개
16 Jan 2024
Golang 로깅 도구 공개: 일반적인 로깅 라이브러리를 이해하려면 특정 코드 예제가 필요합니다. 소개: 소프트웨어 개발 프로세스에서 로깅은 매우 중요한 작업입니다. 로깅을 통해 프로그램의 실행 상태를 추적하고 오류 문제를 해결하며 코드를 디버그할 수 있습니다. Golang에는 선택할 수 있는 훌륭한 로깅 도구가 많이 있습니다. 이 기사에서는 로그 패키지, logrus, zap 및 zerolog를 포함한 몇 가지 일반적인 Golang 로그 라이브러리를 소개하고 도움이 되는 특정 코드 예제를 제공합니다.
23 May 2018
PHP 개발자의 경우 제품을 사용하고 나면 가장 먼저 해야 할 일은 이러한 오류로 인해 공개되는 경로, 데이터베이스 연결, 데이터 테이블 및 기타 정보로 인해 해커의 공격을 피하기 위해 display_errors 옵션을 끄는 것입니다.
18 Oct 2017
Python의 로깅 모듈은 타사 모듈이나 응용 프로그램에서 사용할 수 있는 일반적인 로깅 시스템을 제공합니다. 다음 기사에서는 주로 Python에서 로깅 라이브러리 사용에 대한 지식 요약을 소개합니다. 이 기사에서는 필요한 친구가 참조할 수 있습니다. 이에 대해서는 아래를 살펴보겠습니다.
15 Jul 2022
이 기사에서는 Java에 대한 관련 지식을 제공하며, 도서관 관리 시스템의 기능 분석, IDEA에서 기능적 클래스 생성 및 사용자 관련 작업 수행을 포함하여 간단한 버전의 도서관 관리 시스템 구현과 관련된 문제를 주로 정리합니다. 처리과정 및 기타 내용을 살펴보시고 모든 분들께 도움이 되었으면 좋겠습니다.
Hot Tools
종속성 주입 컨테이너용 PHP 라이브러리
종속성 주입 컨테이너용 PHP 라이브러리
50개의 뛰어난 클래식 PHP 알고리즘 모음
클래식 PHP 알고리즘, 훌륭한 아이디어를 배우고 사고력을 확장하세요
이미지 최적화를 위한 작은 PHP 라이브러리
이미지 최적화를 위한 작은 PHP 라이브러리