|
|
A streambuffer, logging via syslog
logbuf can be used, if you want to use syslog for logging but don't want to change all your nice C++-style output statements in your code.
Here is an example showing the usage of logbuf:
openlog("myDaemon", LOG_CONS|LOG_PID, LOG_DAEMON); logbuf ebuf(LOG_ERR, 2); ostream lerr(&ebuf); ... some code ... lerr << "Whoops, got an error" << endl; |
The second optional argument of the constructor can be used to switch the output destination between syslog and some file. If it is omitted or set to -1, logging can be switched on or off. The initial state is on.
logbuf (int loglevel, int fd = -1)
| logbuf |
Constructs a new instance.
Parameters:
loglevel | The log level for this instance. see syslog(3) for symbolic names to use. |
fd | An optional file descriptor to use if switched off. |
void setOn (bool newstate)
| setOn |
Switches loggin on or off.
Parameters:
newstate | The desired state. |
void setLevel (int newlevel)
| setLevel |
Modifies the loglevel of this instance.
Parameters:
newlevel | The new loglevel. |
bool on ()
| on |
Retrieve the current state.
Returns: The current state.
int level ()
| level |
Retrieves the current loglevel.
Returns: The current loglevel.
int overflow (int c = EOF)
| overflow |
Called by the associated ostream to write a character. Stores the character in a buffer and calls syslog(level, buffer) whenever a LF is seen.
Generated by: rrt on drom on Mon Nov 26 16:06:15 2007, using kdoc 2.0a54. |