php 어플리케이션의 로깅을 위해서 사용 가능한 공개sW


http://logging.apache.org/log4php/

이름에서 느껴지는 것처럼 lo4j와 유사한 사용법이므로 직관적인 사용이 가능하다.

기본출력에 보이도록 설정하는 경우 - log4php.properties
#### 기본출력 stdout
log4php.appender.default = LoggerAppenderEcho
log4php.appender.default.layout = LoggerLayoutSimple

#DEBUG < INFO < WARN < ERROR < FATAL.
log4php.rootLogger = WARN, default

log4php.logger.mylogger = INFO, default
log4php.additivity.mylogger = "false"

파일에 남기도록 설정하는 경우 - log4php.properties
#### 파일에 남기는 경우

log4php.rootLogger=debug, stdout, R

log4php.appender.stdout=LoggerAppenderConsole
log4php.appender.stdout.layout=LoggerLayoutPattern

# Pattern to output the caller's file name and line number.
log4php.appender.stdout.layout.ConversionPattern=%5p %t %F:%L - %m%n

log4php.appender.R=LoggerAppenderRollingFile
log4php.appender.R.File=C:/xampp/htdocs/log4php/viralphp.log

log4php.appender.R.MaxFileSize=100KB
# Keep one backup file
log4php.appender.R.MaxBackupIndex=1

log4php.appender.R.layout=LoggerLayoutPattern
log4php.appender.R.layout.ConversionPattern=%p %d{Y-m-d H:i:s.u} %t [%c] [%F:%L] - %m%n



php 에러로 나타나도록 설정하는 경우 - log4php.properties
### Log events using the php function: trigger_error
log4php.appender.default = LoggerAppenderPhp
log4php.appender.default.layout = LoggerLayoutPattern
log4php.appender.default.layout.conversionPattern = "%d{Y-m-d H:i:s.u} %-5p [%t] %c: %m%n"
log4php.rootLogger = DEBUG, default


syslog를 사용하도록 설정하는 경우 - log4php.properties
### Syslog 사용
log4php.appender.default = LoggerAppenderSyslog
log4php.appender.default.layout = LoggerLayoutSimple
log4php.appender.default.ident = log4php-test
log4php.appender.default.facility = LOG_LOCAL0
log4php.rootLogger = DEBUG, default

그외 db에 저장하는 pdo 사용법, 네트워크로 전송하는 소켓사용법등이 있으니
상세한 내용은 매뉴얼을 참고하자.


사용법

/**
 * log4php setting
 *
 * 웹서버 루트의 log4php/viralphp.log 파일에 로그 남기기
 *
 * @package    ViralMarketing
 * @author     Kim Hyeong Chae <hckim@abydos.co.kr>
 * @filesource
 * @todo       pdo를 이용한 변경 테스트
 *
 */

require_once $_SERVER["DOCUMENT_ROOT"]."/log4php/src/main/php/Logger.php";
Logger::configure($_SERVER["DOCUMENT_ROOT"] . '/log4php/log4php.properties');
$logger = Logger::getLogger("main");

/**
 * 접속자 아이피 로그파일에 남기기
 */
$logger->debug("접속자 아이피: " . $_SERVER["REMOTE_ADDR"]);


로그파일 내용

DEBUG 2010-06-29 13:39:18.216 4064 [main] [C:\xampp\htdocs\index.html:28] - 접속자 아이피: 127.0.0.1



'오픈소스SW' 카테고리의 다른 글

firefox 확장기능 Wired-Marker  (0) 2010.06.30
yui-compressor  (0) 2010.06.29
php 어플리케이션 로그 - log4php  (0) 2010.06.29
phpDocument 를 이용한 문서생성  (0) 2010.06.25
php 속도 증가를 위한 eAccelerator 설치  (0) 2010.06.24
오픈소스는 무료인가  (0) 2010.06.24

+ Recent posts