현재 위치: 집 > 다운로드 사이트 > 라이브러리 다운로드 > 기타 도서관 > 모노로그 로깅 PHP 라이브러리
모노로그 로깅 PHP 라이브러리
나누다: 라이브러리 다운로드 / 기타 도서관 | 출시 시간: 2017-12-20 | 방문: 2996 |
다운로드: 110 |
최신 다운로드
판타지 아쿠아리움
소녀전선
별의 날개
작은 꽃요정 요정의 천국
레스토랑 큐트스토리
산허 여행 탐험
사랑과 프로듀서
가장 강력한 두뇌 3
오드 더스트: 다밀라
젊은 서유기 2
24시간11리더보드 읽기
- 1 내 Hugo 블로그에 이미지를 삽입할 때 404 오류가 발생하는 이유는 무엇입니까?
- 2 dsetup16.dll - dsetup16.dll이란 무엇입니까?
- 3 dtrsve.dll - dtrsve.dll이란 무엇입니까?
- 4 dxcodex.ocx - dxcodex.ocx란 무엇입니까?
- 5 공유 객체를 수정할 때 std::shared_ptr은 스레드로부터 안전합니까?
- 6 dsbho_02.dll - dsbho_02.dll이란 무엇입니까?
- 7 Java 앱의 시작 시간과 메모리 공간을 최대로 줄이는 전략
- 8 "SQL 구문에 오류가 있습니다."라는 메시지와 함께 MySQL 이벤트 생성이 실패하는 이유는 무엇입니까?
- 9 내 Sass 파일에서 "잘못된 CSS: 예상 표현식" 오류가 발생하는 이유는 무엇입니까?
- 10 예상대로 줄어들지 않는 이유는 무엇입니까? 제거할 수 없는 min-width: min-content 문제가 있는 것 같습니다.
- 11 dwin0008.dll - dwin0008.dll이란 무엇입니까?
- 12 Java의 정적 및 비정적 중첩 클래스의 주요 차이점은 무엇입니까?
- 13 X Empire 가격이 새로운 ATH로 급등: 알아야 할 사항은 다음과 같습니다.
- 14 dwpp.dll - dwpp.dll이란 무엇입니까?
- 15 My Go 인터페이스 메소드 반환 유형이 컴파일 오류를 일으키는 이유는 무엇입니까?
최신 튜토리얼
-
- 해외 웹 개발 풀스택 강좌 총집합
- 1717 2024-04-24
-
- Go 언어 실습 GraphQL
- 2000 2024-04-19
-
- 550W 팬 마스터가 JavaScript를 처음부터 차근차근 학습합니다
- 3418 2024-04-18
-
- 기초 지식이 전혀 없는 초보자도 6시간 만에 시작할 수 있는 파이썬 마스터 모쉬
- 2949 2024-04-10
-
- MySQL 시작하기(mosh 교사)
- 1803 2024-04-07
-
- Mock.js | Axios.js | Json - 10일간의 고품질 수업
- 2616 2024-03-29
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): 시스템을 사용할 수 없습니다.