Launching Log4Ora

Posted by jt - 29/04/09 at 10:04 pm

Today, I’ve started my own little open source project called Log4Ora.

I’ve found logging in PL/SQL is a weak area.   I have not found a solution for PL/SQL with the versitily of a mature logging product such as log4j.

What I see most often, are home grown solutions, where the author creates a simple API to write out to a log table.  Fine, except the growth of these tables is often an after thought.  Plus you rarely see log levels, alerting, etc.

A few years back, I wrote a solution that used UTIL_FILE to write messages to a log file.  Worked great for tailing long running batch processes.  But the downside here was it required access to the file system of the database server, which is something in a SOX/PCI world that is going away for application developers.

The last couple years I’ve been using the open source package Log4PLSQL.  This is a really nice solution.   I liked the fact that it supports differnt log levels, and hooks into log4j.  I’ve found a few downsides to this project.  The integration with log4j is done with DBMS pipes, which I found out by surprise, are not replicated across nodes of a RAC cluster.   Each node of the cluster requires its own listner.

Initial design goals of this project are:

  • Create a simple API for use;
  • Implement log4j like levels;
  • Allow the dynamic changing of the log levels, by program module;
  • Use reflection in pl/sql to automatically determine program module;
  • Rather than DBMS Pipes, use AQ/JMS for messaging;
  • Process JMS messages into Log4J.

Share/Save/Bookmark

One Response to “Launching Log4Ora”

  1. KeHoeff says:
    May 28th, 2009 at 7:23 pm

    hey this is a very interesting article!

Leave a Reply