|
| ODBCAppender () |
|
virtual | ~ODBCAppender () |
|
void | setOption (const LogString &option, const LogString &value) override |
| Set options.
|
|
void | activateOptions (helpers::Pool &p) override |
| Activate the specified options.
|
|
void | append (const spi::LoggingEventPtr &event, helpers::Pool &) override |
| Adds the event to the buffer.
|
|
void | close () override |
| Closes the appender, flushing the buffer first then closing the default connection if it is open.
|
|
virtual void | flushBuffer (log4cxx::helpers::Pool &p) |
| loops through the buffer of LoggingEvents, gets a sql string from getLogStatement() and sends it to execute().
|
|
bool | requiresLayout () const override |
| ODBCAppender requires a layout.
|
|
void | setSql (const LogString &s) |
| Set pre-formated statement eg: insert into LogTable (msg) values ("%m")
|
|
const LogString & | getSql () const |
| Returns pre-formated statement eg: insert into LogTable (msg) values ("%m")
|
|
void | setUser (const LogString &user) |
|
void | setURL (const LogString &url) |
|
void | setPassword (const LogString &password) |
|
void | setBufferSize (size_t newBufferSize) |
|
const LogString & | getUser () const |
|
const LogString & | getURL () const |
|
const LogString & | getPassword () const |
|
size_t | getBufferSize () const |
|
| AppenderSkeleton () |
|
| AppenderSkeleton (const LayoutPtr &layout) |
|
virtual | ~AppenderSkeleton () |
|
void | finalize () |
| Finalize this appender by calling the derived class' close method.
|
|
void | activateOptions (helpers::Pool &) override |
| Derived appenders should override this method if option structure requires it.
|
|
void | setOption (const LogString &option, const LogString &value) override |
| Set option to value .
|
|
void | addFilter (const spi::FilterPtr newFilter) override |
| Add a filter to end of the filter list.
|
|
void | clearFilters () override |
| Clear the filters chain.
|
|
const spi::ErrorHandlerPtr | getErrorHandler () const |
| Return the currently set spi::ErrorHandler for this Appender.
|
|
spi::FilterPtr | getFilter () const override |
| Returns the head Filter.
|
|
const spi::FilterPtr | getFirstFilter () const |
| Return the first filter in the filter chain for this Appender.
|
|
LayoutPtr | getLayout () const override |
| Returns the layout of this appender.
|
|
LogString | getName () const override |
| Returns the name of this Appender.
|
|
const LevelPtr | getThreshold () const |
| Returns this appenders threshold level.
|
|
bool | isAsSevereAsThreshold (const LevelPtr &level) const |
| Check whether the message level is below the appender's threshold.
|
|
void | doAppend (const spi::LoggingEventPtr &event, helpers::Pool &pool) override |
| This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific AppenderSkeleton::append method.
|
|
void | setErrorHandler (const spi::ErrorHandlerPtr eh) |
| Set the ErrorHandler for this Appender.
|
|
void | setLayout (const LayoutPtr layout1) override |
| Set the layout for this appender.
|
|
void | setName (const LogString &name1) override |
| Set the name of this Appender.
|
|
void | setThreshold (const LevelPtr &threshold) |
| Set the threshold level.
|
|
virtual | ~Appender () |
|
virtual void | addFilter (const spi::FilterPtr newFilter)=0 |
| Add a filter to the end of the filter list.
|
|
virtual spi::FilterPtr | getFilter () const =0 |
| Returns the head Filter.
|
|
virtual void | clearFilters ()=0 |
| Clear the list of filters by removing all the filters in it.
|
|
virtual void | close ()=0 |
| Release any resources allocated within the appender such as file handles, network connections, etc.
|
|
virtual void | doAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &pool)=0 |
| Log in Appender specific way.
|
|
virtual LogString | getName () const =0 |
| Get the name of this appender.
|
|
virtual void | setLayout (const LayoutPtr layout)=0 |
| Set the Layout for this appender.
|
|
virtual LayoutPtr | getLayout () const =0 |
| Returns this appenders layout.
|
|
virtual void | setName (const LogString &name)=0 |
| Set the name of this appender.
|
|
virtual bool | requiresLayout () const =0 |
| Configurators call this method to determine if the appender requires a layout.
|
|
Public Member Functions inherited from log4cxx::spi::OptionHandler |
virtual | ~OptionHandler () |
|
virtual void | activateOptions (helpers::Pool &p)=0 |
| Activate the options that were previously set with calls to option setters.
|
|
virtual void | setOption (const LogString &option, const LogString &value)=0 |
| Set option to value .
|
|
virtual | ~Object () |
|
virtual const helpers::Class & | getClass () const =0 |
|
virtual bool | instanceof (const Class &clazz) const =0 |
|
virtual const void * | cast (const Class &clazz) const =0 |
|
WARNING: This version of ODBCAppender is very likely to be completely replaced in the future. Moreoever, it does not log exceptions.
The ODBCAppender provides for sending log events to a database.
Each append call adds to an ArrayList
buffer. When the buffer is filled each log event is placed in a sql statement (configurable) and executed.
BufferSize, db URL, User, & Password are configurable options in the standard log4j ways.
The setSql(String sql)
sets the SQL statement to be used for logging – this statement is sent to a PatternLayout
(either created automaticly by the appender or added by the user). Therefore by default all the conversion patterns in PatternLayout
can be used inside of the statement. (see the test cases for examples)
Overriding the getLogStatement
method allows more explicit control of the statement used for logging.
For use as a base class:
-
Override getConnection() to pass any connection you want. Typically this is used to enable application wide connection pooling.
-
Override closeConnection – if you override getConnection make sure to implement closeConnection
to handle the connection you generated. Typically this would return the connection to the pool it came from.
-
Override getLogStatement to produce specialized or dynamic statements. The default uses the sql option value.