Apache Log4cxx  Version 2.0.0
Loading...
Searching...
No Matches
log4cxx::varia::FallbackErrorHandler Class Reference

The FallbackErrorHandler implements the ErrorHandler interface such that a secondary appender may be specified. More...

#include <fallbackerrorhandler.h>

Inheritance diagram for log4cxx::varia::FallbackErrorHandler:
log4cxx::spi::ErrorHandler log4cxx::spi::OptionHandler log4cxx::helpers::Object

Public Member Functions

 FallbackErrorHandler ()
 ~FallbackErrorHandler ()
void addAppenderHolder (const LogString &name, const spi::AppenderAttachablePtr &clx) override
 Add clx to the list of collections to search for the failed appender.
void setLogger (const LoggerPtr &logger) override
 Adds the logger passed as parameter to the list of loggers that we need to search for in case of appender failure.
void setOption (const LogString &option, const LogString &value) override
 Set option to value.
void error (const LogString &message, const std::exception &e, int errorCode) const override
 Prints the message and the stack trace of the exception on System.err.
void error (const LogString &message, const std::exception &e, int errorCode, const spi::LoggingEventPtr &event) const override
 Prints the message and the stack trace of the exception on System.err.
void error (const LogString &message) const override
 Print a the error message passed as parameter on System.err.
void setAppender (const AppenderPtr &primary) override
 The appender to which this error handler is attached.
void setBackupAppender (const AppenderPtr &backup) override
 Set the backup appender.
bool errorReported () const override
 Has an error been reported?
Public Member Functions inherited from log4cxx::spi::ErrorHandler
virtual ~ErrorHandler ()
virtual void addAppenderHolder (const LogString &name, const AppenderAttachablePtr &clx)
 Add clx to the list of collections to search for the failed appender.
void activateOptions () override
 Activate the options that were previously set with calls to option setters.
void activateOptions (helpers::Pool &)
Public Member Functions inherited from log4cxx::spi::OptionHandler
virtual ~OptionHandler ()
void activateOptions (helpers::Pool &)
Public Member Functions inherited from log4cxx::helpers::Object
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

Detailed Description

The FallbackErrorHandler implements the ErrorHandler interface such that a secondary appender may be specified.

This secondary appender takes over if the primary appender fails for whatever reason.

The error message is printed on System.err, and logged in the new secondary appender.

Here is a sample configuration file that installs this error handler:

<?xml version="1.0" encoding="UTF-8" ?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="Primary" class="RollingFileAppender">
<rollingPolicy class="TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${LOG_SERVER_UNC_PATH}/${PROGRAM_FILE_PATH.STEM}-%d{yyyy-MM-dd-HH-mm-ss-SSS}.log"/>
</rollingPolicy>
<triggeringPolicy class="SizeBasedTriggeringPolicy">
<param name="MaxFileSize" value="5MB"/>
</triggeringPolicy>
<param name="File" value="${LOG_SERVER_UNC_PATH}/${PROGRAM_FILE_PATH.STEM}.log" />
<param name="BufferedIO" value="true"/>
<param name="BufferedSeconds" value="1"/>
<layout class="PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{2} - %m%n"/>
</layout>
</appender>
<appender name="Backup" class="RollingFileAppender">
<rollingPolicy class="TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${PROGRAM_FILE_PATH.PARENT_PATH}/${PROGRAM_FILE_PATH.STEM}-%d{yyyy-MM-dd-HH-mm-ss-SSS}.log"/>
</rollingPolicy>
<triggeringPolicy class="SizeBasedTriggeringPolicy">
<param name="MaxFileSize" value="5MB"/>
</triggeringPolicy>
<param name="File" value="${PROGRAM_FILE_PATH.PARENT_PATH}/${PROGRAM_FILE_PATH.STEM}.log" />
<param name="BufferedIO" value="true"/>
<param name="BufferedSeconds" value="1"/>
<layout class="PatternLayout">
<param name="ConversionPattern" value="%d %-5p %c{2} - %m%n"/>
</layout>
</appender>
<appender name="ASYNC" class="AsyncAppender">
<appender-ref ref="Primary" fallback-ref="Backup"/>
</appender>
<root>
<priority value ="INFO" />
<appender-ref ref="ASYNC" />
</root>
</log4j:configuration>

Constructor & Destructor Documentation

◆ FallbackErrorHandler()

log4cxx::varia::FallbackErrorHandler::FallbackErrorHandler ( )

◆ ~FallbackErrorHandler()

log4cxx::varia::FallbackErrorHandler::~FallbackErrorHandler ( )

Member Function Documentation

◆ addAppenderHolder()

void log4cxx::varia::FallbackErrorHandler::addAppenderHolder ( const LogString & name,
const spi::AppenderAttachablePtr & clx )
override

Add clx to the list of collections to search for the failed appender.

Parameters
nameused in log messages.
clxhas a collection of appenders.

◆ error() [1/3]

void log4cxx::varia::FallbackErrorHandler::error ( const LogString & message) const
overridevirtual

Print a the error message passed as parameter on System.err.

Implements log4cxx::spi::ErrorHandler.

◆ error() [2/3]

void log4cxx::varia::FallbackErrorHandler::error ( const LogString & message,
const std::exception & e,
int errorCode ) const
overridevirtual

Prints the message and the stack trace of the exception on System.err.

Implements log4cxx::spi::ErrorHandler.

◆ error() [3/3]

void log4cxx::varia::FallbackErrorHandler::error ( const LogString & message,
const std::exception & e,
int errorCode,
const spi::LoggingEventPtr & event ) const
overridevirtual

Prints the message and the stack trace of the exception on System.err.

Implements log4cxx::spi::ErrorHandler.

◆ errorReported()

bool log4cxx::varia::FallbackErrorHandler::errorReported ( ) const
overridevirtual

Has an error been reported?

Implements log4cxx::spi::ErrorHandler.

◆ setAppender()

void log4cxx::varia::FallbackErrorHandler::setAppender ( const AppenderPtr & primary)
overridevirtual

The appender to which this error handler is attached.

Implements log4cxx::spi::ErrorHandler.

◆ setBackupAppender()

void log4cxx::varia::FallbackErrorHandler::setBackupAppender ( const AppenderPtr & backup)
overridevirtual

Set the backup appender.

Implements log4cxx::spi::ErrorHandler.

◆ setLogger()

void log4cxx::varia::FallbackErrorHandler::setLogger ( const LoggerPtr & logger)
overridevirtual

Adds the logger passed as parameter to the list of loggers that we need to search for in case of appender failure.

Implements log4cxx::spi::ErrorHandler.

◆ setOption()

void log4cxx::varia::FallbackErrorHandler::setOption ( const LogString & option,
const LogString & value )
overridevirtual

Set option to value.

Reimplemented from log4cxx::spi::OptionHandler.


The documentation for this class was generated from the following file: