Apache Log4cxx  Version 1.2.0
Loading...
Searching...
No Matches
log4cxx::net::SyslogAppender Class Reference

Use SyslogAppender to send log messages to a remote syslog daemon. More...

#include <syslogappender.h>

Inheritance diagram for log4cxx::net::SyslogAppender:
log4cxx::AppenderSkeleton log4cxx::Appender log4cxx::helpers::Object log4cxx::spi::OptionHandler log4cxx::helpers::Object

Public Member Functions

 SyslogAppender ()
 
 SyslogAppender (const LayoutPtr &layout, int syslogFacility)
 
 SyslogAppender (const LayoutPtr &layout, const LogString &syslogHost, int syslogFacility)
 
 ~SyslogAppender ()
 
void close () override
 Release any resources held by this SyslogAppender.
 
void append (const spi::LoggingEventPtr &event, helpers::Pool &p) override
 Subclasses of AppenderSkeleton should implement this method to perform actual logging.
 
void activateOptions (helpers::Pool &p) override
 Activate the options that were previously set with calls to option setters.
 
void setOption (const LogString &option, const LogString &value) override
 Set option to value.
 
bool requiresLayout () const override
 The SyslogAppender requires a layout.
 
void setSyslogHost (const LogString &syslogHost)
 The SyslogHost option is the name of the the syslog host where log output should go.
 
const LogStringgetSyslogHost () const
 Returns the value of the SyslogHost option.
 
void setFacility (const LogString &facilityName)
 Set the syslog facility.
 
LogString getFacility () const
 Returns the value of the Facility option.
 
void setFacilityPrinting (bool facilityPrinting1)
 If the FacilityPrinting option is set to true, the printed message will include the facility name of the application.
 
bool getFacilityPrinting () const
 Returns the value of the FacilityPrinting option.
 
void setMaxMessageLength (int maxMessageLength1)
 
int getMaxMessageLength () const
 
- Public Member Functions inherited from log4cxx::AppenderSkeleton
 AppenderSkeleton ()
 
 AppenderSkeleton (const LayoutPtr &layout)
 
virtual ~AppenderSkeleton ()
 
void finalize ()
 Finalize this appender by calling the derived class' close method.
 
void activateOptions (helpers::Pool &) override
 Activate the options that were previously set with calls to option setters.
 
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.
 
- Public Member Functions inherited from log4cxx::Appender
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.
 
- Public Member Functions inherited from log4cxx::helpers::Object
virtual ~Object ()
 
virtual const helpers::ClassgetClass () const =0
 
virtual bool instanceof (const Class &clazz) const =0
 
virtual const void * cast (const Class &clazz) const =0
 

Static Public Member Functions

static LogString getFacilityString (int syslogFacility)
 Returns the specified syslog facility as a lower-case String, e.g.
 
static int getFacility (const LogString &facilityName)
 Returns the integer value corresponding to the named syslog facility, or -1 if it couldn't be recognized.
 

Protected Member Functions

void initSyslogFacilityStr ()
 
- Protected Member Functions inherited from log4cxx::AppenderSkeleton
 AppenderSkeleton (LOG4CXX_PRIVATE_PTR(AppenderSkeletonPrivate) priv)
 
virtual void append (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p)=0
 Subclasses of AppenderSkeleton should implement this method to perform actual logging.
 
void doAppendImpl (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &pool)
 

Detailed Description

Use SyslogAppender to send log messages to a remote syslog daemon.

Note that by default, this appender will split up messages that are more than 1024 bytes long, for compatability with BSD syslog(see RFC 3164). Modern syslog implementations(e.g. syslog-ng) can accept messages much larger, and may have a default of 8k. You may modify the default size of the messages by setting the MaxMessageLength option.

When the message is too large for the current MaxMessageLength, the packet number and total # will be appended to the end of the message like this: (5/10)

Constructor & Destructor Documentation

◆ SyslogAppender() [1/3]

log4cxx::net::SyslogAppender::SyslogAppender ( )

◆ SyslogAppender() [2/3]

log4cxx::net::SyslogAppender::SyslogAppender ( const LayoutPtr layout,
int  syslogFacility 
)

◆ SyslogAppender() [3/3]

log4cxx::net::SyslogAppender::SyslogAppender ( const LayoutPtr layout,
const LogString syslogHost,
int  syslogFacility 
)

◆ ~SyslogAppender()

log4cxx::net::SyslogAppender::~SyslogAppender ( )

Member Function Documentation

◆ activateOptions()

void log4cxx::net::SyslogAppender::activateOptions ( helpers::Pool p)
overridevirtual

Activate the options that were previously set with calls to option setters.

No action is performed in this implementation.

Reimplemented from log4cxx::AppenderSkeleton.

◆ append()

void log4cxx::net::SyslogAppender::append ( const spi::LoggingEventPtr event,
helpers::Pool p 
)
overridevirtual

Subclasses of AppenderSkeleton should implement this method to perform actual logging.

See also AppenderSkeleton::doAppend method.

Implements log4cxx::AppenderSkeleton.

◆ close()

void log4cxx::net::SyslogAppender::close ( )
overridevirtual

Release any resources held by this SyslogAppender.

Implements log4cxx::Appender.

◆ getFacility() [1/2]

LogString log4cxx::net::SyslogAppender::getFacility ( ) const

Returns the value of the Facility option.

◆ getFacility() [2/2]

static int log4cxx::net::SyslogAppender::getFacility ( const LogString facilityName)
static

Returns the integer value corresponding to the named syslog facility, or -1 if it couldn't be recognized.

Parameters
facilityNameone of the strings KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The matching is case-insensitive.

◆ getFacilityPrinting()

bool log4cxx::net::SyslogAppender::getFacilityPrinting ( ) const

Returns the value of the FacilityPrinting option.

◆ getFacilityString()

static LogString log4cxx::net::SyslogAppender::getFacilityString ( int  syslogFacility)
static

Returns the specified syslog facility as a lower-case String, e.g.

"kern", "user", etc.

◆ getMaxMessageLength()

int log4cxx::net::SyslogAppender::getMaxMessageLength ( ) const

◆ getSyslogHost()

const LogString & log4cxx::net::SyslogAppender::getSyslogHost ( ) const

Returns the value of the SyslogHost option.

◆ initSyslogFacilityStr()

void log4cxx::net::SyslogAppender::initSyslogFacilityStr ( )
protected

◆ requiresLayout()

bool log4cxx::net::SyslogAppender::requiresLayout ( ) const
inlineoverridevirtual

The SyslogAppender requires a layout.

Hence, this method returns true.

Implements log4cxx::Appender.

◆ setFacility()

void log4cxx::net::SyslogAppender::setFacility ( const LogString facilityName)

Set the syslog facility.

This is the Facility option.

The facilityName parameter must be one of the strings KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. Case is unimportant.

◆ setFacilityPrinting()

void log4cxx::net::SyslogAppender::setFacilityPrinting ( bool  facilityPrinting1)

If the FacilityPrinting option is set to true, the printed message will include the facility name of the application.

It is false by default.

◆ setMaxMessageLength()

void log4cxx::net::SyslogAppender::setMaxMessageLength ( int  maxMessageLength1)

◆ setOption()

void log4cxx::net::SyslogAppender::setOption ( const LogString option,
const LogString value 
)
overridevirtual

Set option to value.

Supported options Supported values Default value
SysLogHost (1) -
Facility (2) -
MaxMessageLength {int} 1024

(1) A valid internet address, optionally with the port number as a suffix after a ':'.

(2) One of kern,user,mail,daemon,auth,syslog,lpr,news,uucp,cron,ftp,local0,local1,local2,local3,local4,local5,local6,local7

See also
AppenderSkeleton::setOption()

Reimplemented from log4cxx::AppenderSkeleton.

◆ setSyslogHost()

void log4cxx::net::SyslogAppender::setSyslogHost ( const LogString syslogHost)

The SyslogHost option is the name of the the syslog host where log output should go.

WARNING If the SyslogHost is not set, then this appender will fail.


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