ต่อจากตอนที่แล้ว
การติดตั้ง Microsoft enterprise library ในโปรเจค
1.ที่โปรเจคให้ทำการเลือก Add Reference
2.เลือก Microsoft.Practices.EnterpriseLibrary.Logging.dll จาก directory ที่เรา install program เอาไว้ใน (ดูการปรับแต่งข้อ1)
3.เมื่อทำการ add reference เสร็จเรียบร้อยจะได้ดังรูป
การใช้งาน Microsoft enterprise library
ตัวอย่าง code ที่ใช้สร้าง logs file
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Diagnostics;
using System.Collections.Generic;
using Microsoft.Practices.EnterpriseLibrary.Logging;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Logging.ExtraInformation;
namespace Gmm.Logfile
{
///
/// write text logger class
...
ต่อจากขั้นตอนที่แล้ว
9.ในหัวข้อ Logging Application Block ->Trace Listeners ตรงส่วนนี้จะเป็นตัวจัดการ Listeners ของระบบ logs ทางด้านขวามือ
- Name->Name = ชื่อของ Listeners ตัวนี้
-General->FileName = ตำแหน่ง path directory ที่เราต้องการให้ทำการจัดเก็บ logs files ไว้
-General->Filter = รูปแบบการ filter ที่จะใช้ใน listener นี้เช่น Info ,Warning, Error เป็นต้น
-General->Footer = กำหนดการแสดงผลข้อความที่ตำแหน่งท้ายสุดของ logs files ที่เรา เลือก
-Formatter = เลือกรูปแบบการแสดงผลจากที่อธิบายไว้ใน 8.
-General->Header = ...
Microsoft Enterprise Library คือโปรแกรมที่ทาง Microsoft สร้างขึ้นมาเพื่ออำนวยความสะดวก สำหรับนักพัฒนาที่ใช้ภาษาตระกูล .NET ทั้งหลาย ที่สำคัญโปรแกรมนี้ไม่เสียค่าใช้จ่ายครับ สามารถดาวโหลดมาใช้กันได้อย่างฟรีๆ ความสามารถของโปรแกรมนี้มีมากมายเลย อาทิเช่น SqlConfiguration, PolicyInjection, Logging, Security และอื่นๆอีกเยอะแยะต้องลองเล่นดู แต่ที่ผมจะเขียนในบทความนี้ ผมจะแสดงวิธีสร้างและใช้งาน logging file ด้วย Microsoft Enterprise library การ logging file คือสร้าง logs file เอาไว้ตรวจสอบข้อมูลนั่นเองครับ
ก่อนอื่นต้อง Download program Microsoft enterprise library กันก่อน
Download program ได้จากเว็บไซน์นี้ครับ http://msdn.microsoft.com/en-us/library/cc467894.aspx
การปรับแต่ง Microsoft enterprise library สำหรับไว้ใช้งาน
1. Download program Microsoft Enterprise ...
Log4j คือ library packet class สำหรับทำการสร้าง, เขียน, หรือแสดงข้อมูล ที่เราต้องการให้แสดงออกมาตามที่เราได้กำหนดไว้ในโปรแกรม พูดให้เข้าใจง่ายๆก็คือเขียน logs เอาไว้ตรวจสอบข้อมูลนั่นแหละ
ข้อดีของ Log4j
- เขียนข้อความลง text file ได้
- เขียนข้อความลงฐานข้อมูลได้
- แสดงผลข้อความออกมาทางหน้าจอคอนโซลได้
- ส่งข้อมูลข้อความแบบ remote ได้
- ส่ง sms เตือนกรณี error ได้
Download โปรแกรมก่อน
- download program ที่ http://logging.apache.org ไฟล์ที่ได้จะมีนามสกุล .jar
การจัดแบ่งลำดับชั้นความสำคัญใน Log4j
- ในLog4j แบ่งความสำคัญในการเขียนข้อมูลดังในตาราง โดย Fatal จะมีค่ามากสุด และ Trace จะมีค่าน้อยสุด
ลำดับชั้น
คำอธิบาย
FATAL
ข้อผิดพลาดอย่างรุนแรงอันอาจจะทำให้โปแกรมหยุดทำงานได้
ERROR
ข้อผิดพลาดที่เกิดขึ้นกลับโปรแกรม หรือเงื่อนไขอื่นๆที่ไม่อาจคาดการณ์ไว้
WARN
การใช้งานที่ไม่ถูกต้อง สิ่งที่ไม่ต้องการให้เกิดขึ้นกับโปรแกรม แต่โปรแกรมยังทำงานได้ถูกต้อง
INFO
เหตุการณ์ที่เกิดขึ้นในการทำงานของโปรแกรมที่เราสนใจ ...
array localeconv ( )
ร้องขอข้อมูลค่า locale ในปัจจุบันในรูปแบบ array. ซึ่งข้อมูล local อาจจะถูกกำหนดในขณะนั้นด้วยฟังชั่น setlocale(). ข้อมูลที่ส่งกลับจะมีค่าที่ส่งกลับดังนี้
string ltrim ( string str [, string charlist] )
ลบช่องว่างหรือตัวอักษรจากจุดเริ่มต้นทางซ้ายของข้อความ
int levenshtein ( string str1, array str2 [, int cost_ins, int cost_rep, int cost_del] )
หาค่าผลต่างของข้อความสองข้อความโดยใช้สมการผลต่างของ Levenshtein.
ค่าผลต่างของ Levenshtein คือตัวเลขที่ได้เปรียบเทียบการ แทนที่ ใส่เพิ่ม หรือลบทิ้งของตัวอักษรซึ่งได้เปรี่ยนค่าจากตัวแปร str1 ให้กลายเป็นค่าตัวแปร str2
string join ( string glue, array pieces )
รวมค่าที่อยู่ใน array ให้ออกมาเป็นข้อความ.
เหมือนกันกับฟังชั่น implode ดูรายละเอียดเพิ่มเติมในบทความฟังชั่น implode() แตกต่างตรงที่ฟังชั่น join ไม่ต้องเรียงลำดับในค่าตัวแปรใส่ตัวใดก่อนหลังก็ได้
string implode ( string glue, array pieces )
รวมค่าที่อยู่ใน array ให้ออกมาเป็นข้อความ.
string htmlspecialchars ( string string [, int quote_style [, string charset [, bool double_encode ]]] )
เปลี่ยนตัวอักษรพิเศษให้อยู่ในรูปแบบ HTML. ฟังชั่นนี้ทำงานตรงกันข้ามกับฟังชั่น htmlspecialchars_decode()