jkff
jkff

Reputation: 17913

Does there exist an open-source distributed logging library?

I'm talking about a library that would allow me to log events from different machines and would align these events on a "global" time axis with sufficiently high precision.

Actually, I'm asking because I've written such a thing myself in the course of a cluster computing project, I found it terrifically useful, and I was surprised that I couldn't find any analogues.

Therefore, the point is whether something like this exists (and I better contribute to it) or nothing exists (and I better write an open-source analogue of my solution).

Here are the features that I'd expect from such a library:

Upvotes: 6

Views: 1738

Answers (3)

hemant
hemant

Reputation: 1

Use Chukwa, Its Open source and Large scale Log Monitoring System

Upvotes: 0

nadavwr
nadavwr

Reputation: 1830

Facebook's contribution in the matter is called 'Scribe'.

Excerpt:

Scribe is a server for aggregating streaming log data. It is designed to scale to a very large number of nodes and be robust to network and node failures. There is a scribe server running on every node in the system, configured to aggregate messages and send them to a central scribe server (or servers) in larger groups.

...

Scribe is implemented as a thrift service using the non-blocking C++ server. The installation at facebook runs on thousands of machines and reliably delivers tens of billions of messages a day.

The API is Thrift-based, so you have a good platform coverage, but in case you're looking for simple integration for Java you may want to have a look at Digg's log4j appender for Scribe.

Upvotes: 1

Steve Townsend
Steve Townsend

Reputation: 54158

You could use log4j/log4net targeting a central syslog daemon. log4j has a builtin SyslogAppender, and in log4net you can do it as shown here. log4cpp docs here.

There are Windows implementations of Syslog around if you don't have a Unix system to hand for this.

Upvotes: 1

Related Questions