티스토리 뷰
개요
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
- node.js
- 로드바이크
- Docker
- CentOS
- 알뜰폰
- 평속
- jstl
- kotlin
- MySQL
- 로드 바이크
- DynamoDB
- bootstrap
- JHipster
- Eclipse
- 태그를 입력해 주세요.
- Kendo UI
- 자전거
- Spring Boot
- maven
- Kendo UI Web Grid
- JavaScript
- java
- spring
- 구동계
- Spring MVC 3
- jpa
- jsp
- graylog
- chrome
- Tomcat
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함