We have a lot of logging systems available on internet but they all log in file or on console. i encountered a situation where in we have to log into database. this logger is based on apache's log4j and been customized for database.
Create a class say DBAppender in package com.common which extends writerAppender, create a global variable dbjndiName and generate getter and setter of it. Now
add following function in it(Do not change signature of function)
public void append (LoggingEvent event){
if (dbjndiName != null) {
InitialContext context = new InitialContext();
DataSource ds = (DataSource) context.lookup(dbjndiName);
connection = ds.getConnection();
}
/*
put your logic to insert into database
*/
}
In log4j.xml you add an entry as :-
<appender name="DB" class="com.common.DBAppender">
<param name="Threshold" value="INFO"/>
<param name="dbjndiName" value="jdbc/intOMTWeb"/>
</appender>
Monday, May 24, 2010
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment