วันศุกร์ที่ 15 มิถุนายน พ.ศ. 2550

Basic Config Log4J

จะสอนวิธีใช้งานแบบง่ายๆ ของ Log4J นะครับ ว่าจะ Config ยังไงดี ซึ่งเราจะ Config ใน log4j.properties นะครับ Parameter ที่น่าจะรู้

log4j.rootCategory เป็นการกำหนด Log ทั้งหมดของเราว่าจะให้มีระดับเท่าไร ซึ่งใน Log4J จะมีระดับดังนี้ info, warn, debug and fatal
log4j.logger.package เป็นการกำหนดว่าจะให้ที่อยู่ในชื่นี้ทั้งหมดอยู่ในระดบไหน [ตรง Package ให้กำหนดเป็นชื่อหรือ Package ของ Class เราก็ได้ว่าจะให้มันอยู่ในระดับใดของ Log4J]
log4j.appender.package กำหนดว่าจะให้ Log ออกแบบไหน เช่นลงไฟลล์หรือเปล่า
log4j.appender.package.DatePattern เป็นรูปแบบของไฟลล์ว่าพอหมดวันแล้วจะเก็บรูปแบบไหน
log4j.appender.package.File กำหนัดว่าไฟลล์จะชื่ออะไร วางไว้ที่ไหน
log4j.appender.package.MaxFileSize ความจุมากสุดของในแต่ละไฟลล์ ถ้าในวันนึงเกินจะหั่นไฟลล์ออกมา
log4j.appender.package.layout จะให้ Pattern เป็นแบบไหน
log4j.appender.package.layout.ConversionPattern กำหนดรูปแบบว่าจะให้โชว์อะไรบ้าง


ข้างล่างเป็นตัวอย่าง อย่างง่ายๆ ครับ

log4j.rootCategory = Info, stdout //บอกว่าให้ Log ทั้งหมดที่ระดับต่ำกว่า Info ไม่ต้องเอามาแสดง ส่วน stdout คือ System.out
log4j.appender.stdout = org.apache.log4j.ConsoleAppender //เป็นการบอกว่าออกที่ Console
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout //Pattern
log4j.appender.stdout.layout.ConversionPattern = ...[ABC Project]... [%d{dd/MM/yyyy HH:mm:ss,SSS}] (%c:%L) - %5p - %m%n//รูปแบบของการออกโดย จะเป็นดังนี้ ... [ABC Project]... [รูปแบบของวันที่จะเป็น วัน/เดือน/ปี ชั่วโมง:นาที:วินาที,ไมโครวินาที] (ชื่อเต็มเช่น ชื่อ Class รวมกับ Package ทั้งหมด:บรรทัดที่รัน) - Level ของ Log

log4j.logger.com.true_corp.connector = DEBUG,connectorlog //เป็นการบอกว่า Log ที่อยู่ใน Package com.true_corp.connector ทั้งหมดจะมีระดับ Log ที่ Debug แล้วตัวข้างหลังบอกว่าใช้เป็นตัวแปรชื่อนี้
log4j.appender.connectorlog = org.apache.log4j.DailyRollingFileAppender //กำหนดให้ connectorlog เก็บลงไฟลล์
log4j.appender.connectorlog.DatePattern = '.'yyyy_MM_dd //มีรูปแบบของวันเป็น ปี_เดือน_วัน
log4j.appender.connectorlog.File = C:/Connector.log //ลงไฟลล์ชื่อ Connector.log
log4j.appender.connectorlog.MaxFileSize = 10000KB //ขนาดไฟลล์สูงสุดคือ 10 Mb ถ้าเกินจะขึ้นไฟลล์ใหม่
log4j.appender.connectorlog.layout = org.apache.log4j.PatternLayout
log4j.appender.connectorlog.layout.ConversionPattern = ...[Temp Log]... [%d{dd/MM/yyyy HH:mm:ss,SSS}] (%c:%L) - %5p - %m%n