Oracle Logging Framework
There is finally something to publish about the Oracle Logging Framework (OLF). This was a project that I have been thinking about for a long time. I even registered it as a SourceForge project back in 2008. Since then I’ve written about the framework in a paper title “Oracle Instrumentation” that was published in the IOUG SELECT magazine in 2009, and I spoke about the framework at last year’s Oracle Open World. I’ve written about it on this blog, once about integrating with the Method-R ILO here and summarizing the Open World presentations here.
Well I’ve finally gotten around to almost finishing it, and I thought I would start to blog about the design of the code and then use the resulting posts to create the user guide. It will also give me a chance to document why some of the design decisions were made and generally what this logger has to offer that the other Oracle loggers out there don’t. I plan to follow/cover the requirements laid out in the original Oracle Instrumentation paper and how each of them were implemented. Along the way there will be plenty of examples and hopefully a compelling case to give it a try.
The following are the basic logging requirements of the framework:
- Debugging should be written to one or more “persistent” sources and preferably to a console for initial debugging.
- Should be able to activate debugging remotely for one or more “users”.
- Should be able to enable debugging for one or more “modules” in the code.
- Provide logging levels (i.e. informational or error)
- The ability to record errors and anomalies.
- The ability to record runtime information.
The first post will be about dynamic logging, which is really a requirement to being able to activate logging on the fly. Then we’ll cover logging levels. And after that we’ll have to see.