Jump to content






Photo

CodeIgniter :: Log4php Library

Posted by up1 , in codeigniter, php 28 December 2011 · 1480 views

วันนี้มาถึงตัวจัดการ logging ต่างๆ ของระบบ php ที่พัฒนาด้วย codeigniter กัน หลังจากที่ใช้ตัว logging ที่มีมาในตัว codeigniter มาสักพักแล้ว มีความรู้สึกว่ามันน่าจะมีตัวอื่นๆ ที่ดีและยืดหยุ่นดีกว่านี้ไหม

จากที่เคยภาษา java มาก่อนรู้ว่ามันมี Log4j ให้ใช้งานง่ายๆ ซึ่งก็แอบไปเห็นว่ามันมีLog4php ด้วยเหมือนกัน ซึ่งอยุ่ใน project เดียวกันเสียด้วย ดังนั้นจึงไม่รอช้าที่จะเข้าไปศึกษาและนำมาใช้งานกัน

เริ่มต้น ทำคสวามรู้จักกับ Apache Log4php กันก่อน โดยมีส่วนสำคัญๆ ดังนี้
  • ใช้สำหรับเก็บ log การทำงานต่างๆ ของ php application
  • สามารถ config ได้ทั้ง xml และ properties file หรือ php file ก็ได้
  • สามารถเก็ย log message ต่างๆ ไว้ได้หลายที่ ซึ่งเราสามารถเลือกได้เช่น  console, file, email, database, socket และ syslog เป็นต้น
  • รูปแบบการแสดง log message  นั้น สามารถแสดงได้ทั้ง html, xml และสามารถกำหนดเองได้

หลังจากที่นั่งอ่านความสามารถต่างๆ ของ log4php แล้วก็คิดว่า จะนำมาใช้ในการพัฒนาระบบงาน ซึ่งน่าจะช่วยเหลือในส่วนต่างๆ ทั้ง view, controller, library และ model ได้

แนวคิดพื้นฐานคือ เราต้องสามารถใช้งานได้ทั้งแบบเก่าและแบบใหม่ที่เราจะเพิ่มเข้าไป โดยผู้ใช้งานสามารถเลือกได้ ดังนั้นจะทำ Log library ใหม่ขึ้นมาโดย extend มาจาก Default log library ของ codeigniter ไปเลย รวมทั้งเตรียม helper เอาไว้ให้ใช้งานได้ง่ายๆ ด้วย

จากแนวคิดข้างต้น ก็ลองไปค้นหาใน github ว่ามีใครคิดเหมือนกัน หรือ ทำไว้แล้วหรือเปล่า ก็พบว่ามันมี 1  project คือ CI-Log4php

การใช้งานก็ไม่ยาก เป็นดังนี้
1. download code มาจากที่ https://github.com/fukata/ci-log4php
2. ถ้าใช้ CodeIgniter 2.x ขึ้นไปให้ extract และ copy folder ต่างๆ ไปไว้ที่

Quote

ci_log4php ไปไว้ที่ /application/third_party/
ci_app/application ไปไว้ที่ /application/

3. ทำการ config พวกระดับของ Log และ path สำหรับเก็บ log ได้ที่ file /application/config/config.php ดังตัวอย่าง
$config['log_threshold'] = 0;
$config['log_path'] = '';

4. ตัวอย่างการใช้งาน
// CodeIgniter default logging function.
log_message('debug', 'hogehoge');

// Use ci-log4php sugar functions.
$this->load->helper('log4php');
log_error('hogehoge');
log_info('hogehoge');
log_debug('hogehoge');

เพียงเท่านี้ก็สามารถนำ log4php ไปใช้งานใน application ที่สร้างด้วย Codeigniter ได้แล้ว


Rederence Website
What is Apache log4php?
https://github.com/fukata/ci-log4php




Search My Blog

November 2014

S M T W T F S
      1
2345678
9101112131415
161718192021 22
23242526272829
30