syslogbuf.3bobcat

Langue: en

Version: 353094 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

FBB::SyslogBuf - A streambuf object inserting syslog messages

SYNOPSIS

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

DESCRIPTION

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

NAMESPACE

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

INHERITS FROM

std::streambuf

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):

o
EMERG:
system is unusable;
o
ALERT:
action must be taken immediately;
o
CRIT:
critical conditions;
o
ERR:
error conditions;
o
WARNING:
warning conditions;
o
NOTICE:
normal, but significant, condition;
o
INFO:
informational message;
o
DEBUG:
debug-level message;

Facility:

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

o
AUTHPRIV:
security/authorization messages (private)
o
CRON:
clock daemon (cron and at)
o
DAEMON:
other system daemons
o
KERN:
kernel messages
o
LOCAL0:
reserved for local use. LOCAL1 through LOCAL7 are available as well.
o
LPR:
line printer subsystem
o
MAIL:
mail subsystem
o
NEWS:
USENET news subsystem
o
SYSLOGBUF:
messages generated internally by syslogbufd
o
USER:
: generic user-level messages
o
UUCP:
UUCP subsystem

CONSTRUCTOR

o
SyslogBuf(char *ident, FBB::Priority priority = FBB::NOTICE, FBB::Facility facility = FBB::USER, int option = 0):
This Syslogbuf() constructor initializes the streambuf. The ident parameter is usually the name of the program. Its contents are prepended to syslog messages. Use value 0 if no text needs to be prepended.
The priority parameter determines the importance of the message. By default FBB::NOTICE is used.
The facility parameter determines the type of program doing the logging. By default FBB::USER is used.
The option parameter may be used to specify various options (use the binary `bitor' (`|') operator to combine options):
LOG_CONS: write directly to system console if there is an error while sending to system logger
LOG_NDELAY: open the connection immediately (normally, the con- nection is opened when the first message is logged)
LOG_PERROR: print to stderr as well
LOG__PID: include PID with each message

By default no options are used.

The copy constructor is not available.

MEMBER FUNCTIONS

All members of std::streambuf are available, as FBB::SyslogBuf inherits from this class.
o
Priority defaultPriority() const:
Returns the default priority. I.e., the priority that will be used for the messages after inserting endl, unless altered by setDefaultPriority().
o
Priority priority() const:
Returns the next priority. I.e., the priority that will be used for the next message, unless altered by setPriority().
o
Priority setDefaultPriority(Priority priority):
Changes the default priority of the next syslog-message after inserting std::eoln. Initially, the priority is determined as the value passed to the constructor. The previously active default priority is returned.
o
Priority setPriority(Priority priority):
Changes the priority for the next syslog message (after std::eoln has been inserted). Subsequent messages will use the default priority again. The previously active priority setting is returned.

PROTECTED MEMBER FUNCTIONS

The following members of std::streambuf were overridden:
o
int overflow():
This function is called by std::ostream objects using Syslogbuf. It calls sync(), an then it puts the next available character into the buffer. It returns the inserted character.
o
int sync():
This function writes the syslog message. It is called by overflow() when overflow() must insert EOF. The EOF insertion is done automatically by syslogstream(3bobcat) when a newline is inserted.

EXAMPLE

See also syslogstream(3bobcat)
 
 #include <iostream>
 #include <bobcat/syslogbuf>
 
 using namespace std;
 using namespace FBB;
 
 int main(int argc, char **argv)
 {
     ostream sls(new SyslogBuf(argv[0]));
 
     sls << SyslogStream::debug << "Hello world" << endl;
     sls << SyslogStream::strerrno << endl;
     
     return 0;
 }
     
 

FILES

bobcat/syslogbuf - defines the class interface

SEE ALSO

bobcat(7), openlog(3), syslog(3), syslogstream(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

o
bobcat_2.08.01-x.dsc: detached signature;
o
bobcat_2.08.01-x.tar.gz: source archive;
o
bobcat_2.08.01-x_i386.changes: change log;
o
libbobcat1_2.08.01-x_*.deb: debian package holding the libraries;
o
libbobcat1-dev_2.08.01-x_*.deb: debian package holding the libraries, headers and manual pages;
o
http://sourceforge.net/projects/bobcat: public archive location;

BOBCAT

Bobcat is an acronym of `Brokken's Own Base Classes And Templates'. This is free software, distributed under the terms of the GNU General Public License (GPL).

AUTHOR

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