toy logger using spread
C Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
python
LICENSE
Makefile
README
TODO
code_config.c
code_config.h
data.h
splogger_msg.c
sploggerd.c

README

Splogger is a distributed logging system using Spread (http://www.spread.org/).
It uses version 4.0 of the Spread API. You can set up multiple loggers on
different hosts. When clients send out a message it will be broadcast to all of
the sploggerd daemons. Splogger is written in such a way that the logs on all
hosts will be identical, even if networking latencies cause messages to be
delivered out of order. For example, if a host logs the message "foo" and then
the message "bar", all splogger daemons are guaranteed to log the messages in
that order.

N.B. A lot of the text below might not actually be applicable to the current
version of splogger, and instead describes how splogger *will* work.

To use splogger, you run one or more sploggerd daemons. Each sploggerd daemon
listens on a group, and the intention is that all of the sploggerd daemons for
an application will share one group.

When you log a message, you send a code indicating which log you want the
message to go to (right now you can only send one code). The meaning of the
codes is controlled by a configuration file with synatx like this:

1 ad_clicks # log for ad clicks
2 bad_http_requests # log bad http requests
3 foo

In this example, we've associated code 1 with the log file "ad_clicks". As you
can see, splogger uses the usual convention of # for comments. Trailing
whitespace (after removing the comment) is ignored, as is all whitespace
between the code and the first non-whitespace character. Having whitespace in
the log name is OK.