FBB::SyslogStream(3bobcat)

Output Stream for Syslog
(libbobcat-dev_4.08.03-x.tar.gz)

2005-2018

NAME

FBB::SyslogStream - An output stream inserting syslog messages

SYNOPSIS

#include <bobcat/syslogstream>
Linking option: -lbobcat

DESCRIPTION

FBB::SyslogStream objects may be used as a std::ostream to write syslog messages using stream facilities.

Multiple separate insertions can be used to create a single syslog message: the message is only sent to the syslog daemon after receiving a flush command (e.g., after inserting std::flush or std::endl). Non-printable characters (like '\n') show up in the syslog message as octal values, preceded by # (e.g., #012 for '\n'). The newline normally inserted by std::endl is ignored: SyslogStream objects interpret std::endl like std::flush.

One series of insertions may contain multiple std::endl or std::flush manipulators. At each of these manipulators a new message is sent to the syslog daemon, containing all info that has so far been buffered. After sending a message to the syslog daemon, the SyslogStream's internal buffer is cleared.

NAMESPACE

FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.

INHERITS FROM

std::ostream

ENUMERATIONS

The following enumerations are defined in the namespace FBB:

Priority:

The values of this enumeration match the corresponding priority LOG_xxx values used with syslog(3):

The setMask member (see below) can be used to select which type of messages will actually be processed by the syslog daemon.

PriorityType:

This enumberation has two values fine-tuning the type of messages that are actually processed by the syslog daemon:

By default, the syslog daemon processes all messages it receives.

Facility:

The values of this enumeration match the corresponding facility LOG_xxx values used with syslog(3):

CONSTRUCTORS

Copy and move constructors are not available.

MEMBER FUNCTIONS

All members of std::ostream are available, as FBB::SyslogStream inherits from this class.

STATIC MEMBER FUNCTIONS

MANIPULATORS

The following set of manipulators are all defined as (static) members. They may be inserted into an FBB::SyslogStream object. Except for the last manipulator (strerrno), they have the following characteristics in common:

Here are the available manipulators:

EXAMPLE


#include <bobcat/syslogstream>

using namespace std;
using namespace FBB;

int main(int argc, char **argv)
{
    SyslogStream sls(argv[0]);

    sls << SyslogStream::debug << "Hello world" << flush <<
           SyslogStream::strerrno << endl;
}
    

FILES

bobcat/syslogstream - defines the class interface

SEE ALSO

bobcat(7), closelog(3), openlog(3), rsyslogd(8), syslog(3), syslogbuf(3bobcat)

BUGS

The constructor's option parameter is an int. Because of this, int values rather than enumeration values are passed to the constructor. It is the responsibility of the programmer to pass defined option values only.

DISTRIBUTION FILES

BOBCAT

Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.

COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).