مشخصات مقاله
-
1853
-
0.0
-
5338
-
0
-
0
درس بیست و سه : آموزش کار با Log4J Logging در Spring
آموزش کار با Log4J Logging در Spring :
استفاده از Log4J در پروژه ها و نرم افزارهای Spring بسیار ساده است . همانطور که می دانید Log4J یک سیستم log کردن اطلاعات در Java است .
مثالی که در این درس ارائه خواهیم داد ، مراحل ساده استفاده و ترکیب Log4J در پروژه های Spring را نشان می دهد .
در اینجا فرض براین است که Log4J برروی سیستم شما نصب است . در غیر اینصورت به آدرس http://logging.apache.org رفته و فایل های نصب Log4J را دانلود نمایید . سپس آنها را در یک پوشه extract کرده و فایل اصلی log4j-x.y.2.jar را نصب نمایید .
در مرحله بعدی به سراغ نرم افزار Eclipse رفته و با اجرای مراحل زیر ، یک برنامه تحت وب با یک فرم دینامیک را با استفاده از چهارچوب کاری Spring ایجاد نمایید .
- یک پروژه جدید به نام Spring Example را ایجاد کرده و پکیج com.tahlildadeh را در پوشه src پروژه اضافه نمایید .
- با استفاده از ابزار Add External JARs و همانطور که در درس ایجاد یک پروژه ساده با Spring تشریح کردیم ، کتابخانه های لازم جهت اجرای برنامه را به پروژه اضافه کنید .
- درون پکیج com.tahlildadeh کلاس های HelloWorld و MainAPP را ایجاد نمایید .
- در پوشه src پروژه ، فایل پیکربندی اطلاعات Beans.xml را ایجاد کنید .
- 5) فایل تنظیمات log4j Configuration را با نام log4j.properties در پوشه src ایجاد کنید .
- 6) مرحله آخر تولید محتوی لازم برای کلید فایل های java برنامه و فایل پیکربندی اطلاعات Bean.xml است که در ادامه به تشریح کدهای آنها خواهیم پرداخت .
کد زیر محتویات فایل HelloWorld.java برنامه را نشان می دهد :
package com.tutorialspoint;
public class HelloWorld {
private String message;
public void setMessage(String message){
this.message = message;
}
public void getMessage(){
System.out.println("Your Message : " + message);
}
}
کد زیر نیز مربوط به فایل اصلی برنامه MainApp.java است :
package com.tutorialspoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.apache.log4j.Logger;
public class MainApp {
static Logger log = Logger.getLogger(MainApp.class.getName());
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
log.info("Going to create HelloWord Obj");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
obj.getMessage();
log.info("Exiting the program");
}
}
شما می توانید پیام های debug و error را همانطور که پیام info تولید شد ، ایجاد نمایید . در مرحله بعد کد فایل پیکربندی اطلاعات Beans.xml قرار داده شده است :
در آخر هم کد فایل تنظیمات log برنامه با نام log4j.properties نمایش داده شده است . این فایل تنظیمات و قواعد لازم جهت برای تولید پیام log برنامه را مشخص می کند :
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=C:\\log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
پس از اینکه محتوی کلیه فایل های برنامه را تولید کردید ، می توانیم آن را اجرا نماییم . اگر همه چیز درست باشد ، برنامه پیام زیر را در خروجی چاپ خواهد کرد :
بلافاصله پس از اجرای برنامه ، می توانید مسیر C:11 را در کامپیوتر خود چک نمایید . خواهید دید فایلی به نام log.out ایجاد شده که درون آن پیام log برنامه قابل مشاهده است . کدی همانند زیر :
Your Message : Hello World!
آموزش API ( JCL ) Jakarta Commons Logging :
شما می توانید از API Jakarta Commons Logging برای تولید log های برنامه های Spring خود استفاده کنید . JCL را می توانید از آدرس http://jakarta.apacte.org/commons/logging دانلود نمایید .
تنها فایلی که در پکیج دانلود شده از آدرس فوق به آن نیاز خواهیم داشت ، commons-logging-x.y.z.jar است . این فایل را بایستی در مسیر کلاس برنامه ( classpath ) همانند روشی که برای فایل log4j.x.y.z.jar به کار بردیم ، قرار دهید .
برای استفاده از قابلیت logging در برنامه های Spring بایستی از یک شی org.oracle.commons.logging.log استفاده کنید . پس با توجه به نیاز برنامه تان ، می توانید یکی از متدهای این شی را که در لیست زیر قرار دارند ف فراخوانی کنید :
- - Fatal ( object message ) .
- - Error ( object message ) .
- - Worn (object message ) .
- - Info (object message ) .
- - Debug (object message ) .
- - Trace (object message ) .
در کد زیر ، JCL API را به جای Log4J در فایل MainAPP.java قرار داده ایم . به تفاوت کدها دقت نمایید :
package com.tutorialspoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.apache.commons.logging. Log;
import org.apache.commons.logging. LogFactory;
public class MainApp {
static Log log = LogFactory.getLog(MainApp.class.getName());
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
log.info("Going to create HelloWord Obj");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
obj.getMessage();
log.info("Exiting the program");
}
}
شما بایستی مطمئن شوید که فایل commons-logging-x.y.z.jar در پروژه شما قرار داشته و پس به اجرا و کامپایل برنامه بپردازید .
اکنون که JCL APL را در برنامه خود جایگزین کرده ایم ، بقیه کدها و تنظیمات فایل پیکربندی اطلاعات برنامه را بدون تغییر رها کنید . با اجرای برنامه بایستی خروجی همانند روش Log4J تولید شود .