(another fine invention by Charlton Rose)
LogCast is a data stream broadcaster. It accepts data from
stdin and echos it to any number of simultaneously connected clients, as well as to stdout. LogCast makes it easy to monitor dynamically growing log files or other real time system or process telemetry generated as plain text.
The LogCast server reads text data from
stdin, one line at a time. As each line is received, LogCast echoes the data to all of its connected clients. Clients are free to connect and disconnect at random. When a new connection is established, the new client receives only the lines processed by the server after the connection was made, and every line thereafter, until the client disconnects or the server shuts down.
Nothing more than a standard
telnet client is required to connect to an active LogCast server. Connections are controlled by a set of access rules that limit the IP addresses from which connections can originate. Unauthorized connections are immediately terminated. The access rules file can be modified while the server is running without the need to restart the server.
Because some connected clients may not be able to receive data at the rate it is processed by the server, LogCast maintains independent, growable FIFO buffers for each connection. However, when server data is generated faster than it can be streamed to a client, and this situation is sustained for too long, the server must take drastic action. In order to prevent the connection's buffer from growing too large, the server temporarily disconnects the pokey client connection from the data stream until the data already queued in the FIFO buffer is completely dispatched. Then, the server informs the slow client about the buffer overflow and indicates how many lines it was forced to skip in order to catch up, and the data is again allowed to flow to the client.
LogCast is designed for textual data. Data is read from stdin one line at a time, and all text formats (
LF for Unix,
CR-LF for Windows,
CR for Mac) are supported. However, the lines sent to connected clients are always separated using
CR-LF, since this is the only format universally recognized by all
telnet clients. Additionally, lines echoed to
stdout are terminated with the default line separator for the host platform.
LogCast is available for free download from the download page.
The LogCast documentation is available on-line. Read it here.
[ software home ]
Copyright (c) 2000 Sharkysoft (sharkysoft.com). All rights reserved.