티스토리 뷰
개요
Monolog
는 PHP 진영의 대표적인 로깅 라이브러리이다. Java 진영의 Logback
과 동일한 위상을 갖고 있다. Monolog의 장점은 50가지 이상의 핸들러를 통해 여러 타겟 채널로 로깅을 수행할 수 있다는 것이다. 이번 글에서는 Monolog의 사용법을 설명하고자 한다.
Composer
아래와 같이 Composer를 이용하여 설치한다.
$ composer require monolog/monolog
Monolog 사용 예
아래와 같이 Monolog를 이용하여 로깅한다.
<?php
// Composer로 설치한 Monolog를 오토 로드
require "vendor/autoload.php";
// 로깅 시간을 대한민국으로 설정
date_default_timezone_set('Asia/Seoul');
// Monolog 오브젝트를 생성
$log = new \Monolog\Logger('Application');
// 파일시스템 핸들러를 추가한다.
$log->pushHandler(new \Monolog\Handler\StreamHandler('/var/log/app.log'));
// INFO 레벨로 로깅
$log->info('API Request Started.', array('path' => $_REQUEST['_url']));
Phalcon의 DI에 연동
Phalcon
프레임워크를 사용할 경우 DI
를 이용하여 프로젝트 전역에서 Monolog 인스턴스를 이용하여 로깅할 수 있다.
// Phalcon의 DI 오브젝트에 Monolog 오브젝트를 추가
$di = new \Phalcon\DI\FactoryDefault();
$di->set('log', $log);
// Phalcon의 Micro 오브젝트 생성시 DI 오브젝트를 전달
$app = new \Phalcon\Mvc\Micro($di);
...
// 핸들러 실행 중에 DI된 Monolog 오브젝트로 로깅이 가능, IDE가 인지할 수 있게 타입 힌트 작성
/* @var $log Monolog\Logger */
$log = $app->log;
$log->info('API Request Started.', array('path' => $_REQUEST['_url']));
로깅 결과 확인
[2017-05-06 08:05:26] Application.INFO: API Request Finished. {"path":"/v1/clien/articles/자전거/1"} []
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Docker
- CentOS
- MySQL
- 구동계
- 태그를 입력해 주세요.
- 로드바이크
- 알뜰폰
- Tomcat
- DynamoDB
- Spring Boot
- JHipster
- 자전거
- kotlin
- java
- 평속
- Spring MVC 3
- chrome
- spring
- 로드 바이크
- jstl
- Kendo UI
- node.js
- jpa
- graylog
- maven
- bootstrap
- Eclipse
- jsp
- JavaScript
- Kendo UI Web Grid
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함