log.io

Real-time log monitoring
in your browser

Powered by node.js + socket.io

Try a demo View @ github

How does it work?

Harvesters watch log files for changes, send new log messages to the server, which broadcasts to web clients. Log messages are tagged with stream, node, and log level information based on user configuration.

Log.io has no persistence layer. Harvesters are informed of file changes via inotify, and log messages hop from harvester to server to web client via TCP and socket.io, respectively.

Activate streams & nodes to watch log messages

Simple TCP interface

Log.io uses a stateless TCP API to receive log messages.

Writing a third party harvester is easy. Open a TCP connection to the server and begin writing properly formatted messages to the socket.

Read the API documentation.

Send a log message

+log|my_stream|my_node|info|this is log message\r\n

Register a new node, with stream associations

+node|my_node|my_stream1,my_stream2\r\n

Remove a node

-node|my_node\r\n

Install Log.io

1. Install via npm

npm install -g log.io

2. Launch server

log.io-server

3. Configure log harvester

nano ~/.log.io/harvester.conf

4. Start log harvester

log.io-harvester

5. Browse to http://localhost:28778

Configure harvester

Modify ~/.log.io/harvester.conf

exports.config = { nodeName: "application_server", logStreams: { apache: [ "/var/log/apache2/access.log", "/var/log/apache2/error.log" ] }, server: { host: '0.0.0.0', port: 28777 } }