Provided by: libbobcat-dev_2.20.01-1_amd64 bug


       FBB::SyslogBuf - A streambuf object inserting syslog messages


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


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


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




       The following enumerations are defined in the namespace FBB:


       The  values  of this enumeration match the corresponding priority LOG_xxx values used with

       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;


       The values of this enumeration match the corresponding facility LOG_xxx values  used  with

       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


       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.


       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.


       The  member  listed  in  this section implements the tasks of the comparably named virtual
       function in the class’s private interface. This separates the redefinable  interface  from
       the  user-interface.  The  class  Syslogbuf  can, in accordance with Liskov’s Substitution
       Principle, be used as a std:streambuf; but it also offers a facility for classes  deriving
       from Syslogbuf. This facility is listed here.

       o      int pSync():
              The contents of the Syslogbuf’s internal buffer is flushed.


       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;


       bobcat/syslogbuf - defines the class interface


       bobcat(7), openlog(3), syslog(3), syslogstream(3bobcat)


       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.


       o      bobcat_2.20.01-x.dsc: detached signature;

       o      bobcat_2.20.01-x.tar.gz: source archive;

       o      bobcat_2.20.01-x_i386.changes: change log;

       o      libbobcat1_2.20.01-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_2.20.01-x_*.deb:  debian  package holding the libraries, headers and
              manual pages;

       o public archive location;


       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


       Frank B. Brokken (