GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SYSLOGBUF (3)

NAME

FBB::Syslogbuf - A streambuf object inserting syslog messages

CONTENTS

SYNOPSIS

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

DESCRIPTION

Addresses of FBB::Syslogbuf objects can be passed as std::streambuf addresses to std::ostream objects to write messages to the syslog daemon 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 \(cq\n\(cq) show up in the syslog message as octal values, preceded by # (e.g., #012 for \(cq\n\(cq). 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\(cqs 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::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;

PriorityType:
This enumberation has two values fine-tuning the type of messages that are actually processed by the syslog daemon:
o SINGLE:
Only messages of the priority specified at the setMask call are processed by the syslog daemon;
o UPTO:
Messages of priority EMERG up to the the priority specified at the setMask call are 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):
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

CONSTRUCTORS

o Syslogbuf(string const &ident = \(dq\(dq, FBB::Priority priority = FBB::NOTICE, FBB::Facility facility = FBB::USER, int option = 0):
This constructor initializes a Syslogbuf object. The ident parameter is usually the name of the program. Its contents are prepended to syslog messages.
The priority parameter determines the default importance of the message sent to the syslog daemon. By default messages are sent to the syslog daemon with priority FBB::NOTICE. Syslog messages may be given different priority by inserting a SyslogStream(3bobcat) manipulator. The priority set at construction time may also be modified using the setPriority and setDefaultPriority members.
Which messages actually appear in log facilities is not determined by the messages\(cq priorities, but by syslog\(cqs log mask. The log mask can be set by the static member setMask (see below).
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\(cq (‘|\(cq) 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.
o Syslogbuf(char const *ident, FBB::Priority priority = FBB::NOTICE, FBB::Facility facility = FBB::USER, int option = 0):
This constructor is kept for backward compatibility. Its parameters have the same meanings as those of the abovementioned constructor. A nullptr indicates that no text needs to be prepended to syslog messages.

Copy and move constructors are not available.

MEMBER FUNCTIONS

All members of std::streambuf are available, as FBB::Syslogbuf inherits from this class.

o void close():
If the SyslogStream\(cqs internal buffer is not empty it is flushed to the syslog daemon. Thereafer closelog(3) is called.
o Priority defaultPriority() const:
Returns the current default priority. I.e., the priority that will be used for the messages after inserting endl or flush.
o void open(string const &ident, FBB::Priority priority = FBB::NOTICE, FBB::Facility facility = FBB::USER, int option = 0):
Redefines the current identifier, priority, facility and options that are used when sending messages to the syslog daemon. If the SyslogStream\(cqs internal buffer is not empty it is first flushed to the syslog daemon using the identifier, priority and options that were active just before calling open.
o Priority priority() const:
Returns the next priority. I.e., the priority that will be used for the next message that is sent to the syslog daemon.
o Priority setDefaultPriority(Priority priority):
Changes the default priority of the next message that is sent to the syslog daemon after inserting std::eoln or std::flush. The previously active default priority is returned.
o Priority setPriority(Priority priority):
Changes the priority for the next message that is sent to the syslog daemon after inserting std::eoln or std::flush. Subsequent messages will again use the default priority. The previously active priority setting is returned.

PROTECTED MEMBER FUNCTION

The member listed in this section implements the tasks of the comparably named virtual function in the class\(cqs private interface. This separates the redefinable interface from the user-interface. The class Syslogbuf can, in accordance with Liskov\(cqs Substitution Principle, be used as a std:streambuf; but it also offers a facility for classes deriving from Syslogbuf.
o int pSync():
The contents of the Syslogbuf\(cqs internal buffer are flushed to the syslog daemon.

EXAMPLE

See also syslogstream(3bobcat)

#include <iostream> #include <bobcat/syslogstream>

using namespace std; using namespace FBB;

int main(int argc, char **argv) { ostream sls(new Syslogbuf(argv[0]));

sls << SyslogStream::debug << \(dqHello world\(dq << flush << SyslogStream::strerrno << endl; }

FILES

bobcat/syslogbuf - defines the class interface

SEE ALSO

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

BUGS

The constructor\(cqs 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_3.25.01-x.dsc: detached signature;
o bobcat_3.25.01-x.tar.gz: source archive;
o bobcat_3.25.01-x_i386.changes: change log;
o libbobcat1_3.25.01-x_*.deb: debian package holding the libraries;
o libbobcat1-dev_3.25.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\(cqs Own Base Classes And Templates\(cq.

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

Search for    or go to Top of page |  Section 3 |  Main Index


libbobcat-dev_3&.25&.01-x&.tar&.gz FBB::SYSLOGBUF (3bobcat) 2005-2015

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.