aboutsummaryrefslogtreecommitdiffstats
path: root/lib/log.h
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2000-08-01 22:35:28 +0000
committerFritz Elfert <felfert@to.com>2000-08-01 22:35:28 +0000
commitdbc2d14e0727d8e2f4b8e805c433e50c8664d64d (patch)
tree87ad29e1cfef76087b48113df22844bcb70a808c /lib/log.h
parentf9a232bd27d951600366a889d831e58dbe1f91df (diff)
downloadplptools-dbc2d14e0727d8e2f4b8e805c433e50c8664d64d.tar.gz
plptools-dbc2d14e0727d8e2f4b8e805c433e50c8664d64d.tar.bz2
plptools-dbc2d14e0727d8e2f4b8e805c433e50c8664d64d.zip
Added API doc for logbuf.
Test auto-generation of HTML API doc on project homepage.
Diffstat (limited to 'lib/log.h')
-rw-r--r--lib/log.h54
1 files changed, 53 insertions, 1 deletions
diff --git a/lib/log.h b/lib/log.h
index 740bced..7a6528d 100644
--- a/lib/log.h
+++ b/lib/log.h
@@ -7,14 +7,66 @@
#include <ostream.h>
#include <syslog.h>
+/**
+ * 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:
+ *
+ * <PRE>
+ * openlog("myDaemon", LOG_CONS|LOG_PID, LOG_DAEMON);
+ * logbuf ebuf(LOG_ERR);
+ * ostream lerr(&ebuf);
+ *
+ * ... some code ...
+ *
+ * lerr << "Whoops, got an error" << endl;
+ * </PRE>
+ */
class logbuf : public streambuf {
public:
- logbuf(int);
+
+ /**
+ * Constructs a new instance.
+ *
+ * @param level The log level for this instance.
+ * see syslog(3) for symbolic names to use.
+ */
+ logbuf(int level);
+
+ /**
+ * @internal 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.
+ */
int overflow(int c = EOF);
+
private:
+
+ /**
+ * Pointer to next char in buffer.
+ */
char *ptr;
+
+ /**
+ * Current length of buffer.
+ */
int len;
+
+ /**
+ * The log level to use with syslog.
+ */
int level;
+
+ /**
+ * The internal buffer for holding
+ * messages.
+ */
char buf[1024];
};