FileDocCategorySizeDatePackage
code_example2.javaAPI DocApache log4j 1.2.154550Sat Aug 25 00:09:36 BST 2007None

Log4JTest

public class Log4JTest extends Object

Fields Summary
static Category
cat
Constructors Summary
Methods Summary
public static voidmain(java.lang.String[] args)


	    
	
		// A JDBCIDHandler
		MyIDHandler idhandler = new MyIDHandler();

		// Ensure to have all necessary drivers installed !
		try
		{
			Driver d = (Driver)(Class.forName("oracle.jdbc.driver.OracleDriver").newInstance());
			DriverManager.registerDriver(d);
		}
		catch(Exception e){}

		// Set the priority which messages have to be logged
		cat.setPriority(Priority.DEBUG);

		// Create a new instance of JDBCAppender
		JDBCAppender ja = new JDBCAppender();

		// Set options with method setOption()
		ja.setOption(JDBCAppender.CONNECTOR_OPTION, "MyConnectionHandler");
		ja.setOption(JDBCAppender.URL_OPTION, "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1521))(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=LENZI)(Port=1526)))(CONNECT_DATA=(SID=LENZI)))");
		ja.setOption(JDBCAppender.USERNAME_OPTION, "mex_pr_dev60");
		ja.setOption(JDBCAppender.PASSWORD_OPTION, "mex_pr_dev60");

		ja.setOption(JDBCAppender.TABLE_OPTION, "logtest");

		// There are two ways to setup the column-descriptions :
		// 1. Use the the method setOption(JDBCAppender.COLUMNS_OPTION, column-description)
		//ja.setOption(JDBCAppender.COLUMNS_OPTION, "id_seq~EMPTY	id~ID~MyIDHandler	msg~MSG	created_on~TIMESTAMP	created_by~STATIC~:-) Thomas Fenner (t.fenner@klopotek.de)");

		// 2. Use the better way of coding with method setLogType(String columnname, int LogType.xxx, Object xxx)
		ja.setLogType("id_seq", LogType.EMPTY, "");
		ja.setLogType("id", LogType.ID, idhandler);
		ja.setLogType("msg", LogType.MSG, "");
		ja.setLogType("created_on", LogType.TIMESTAMP, "");
		ja.setLogType("created_by", LogType.STATIC, "FEN");

		// If you just want to perform a static sql-statement, forget about the table- and columns-options,
		// and use this one :
		//ja.setOption(JDBCAppender.SQL_OPTION, "INSERT INTO LOGTEST (id, msg, created_on, created_by) VALUES (1, @MSG@, sysdate, 'me')");

		// other options
		//ja.setOption(JDBCAppender.BUFFER_OPTION, "1");
		//ja.setOption(JDBCAppender.COMMIT_OPTION, "Y");

		// Define a layout
		//ja.setLayout(new PatternLayout("%m"));

		// Add the appender to a category
		cat.addAppender(ja);

		// These messages with Priority >= setted priority will be logged to the database.
		cat.debug("debug");
		cat.info("info");
		cat.error("error");
		cat.fatal("fatal");