dynalog 0.1 README ============================================================================== Copyright (c) 1997-2001 Kurt A. Stephens and Ion, Inc., All Rights Reserved. http://www.acm.org/~stephensk Kurt A. Stephens and Ion, Inc. MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. Kurt A. Stephens and Ion, Inc. SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. $Id: COPYRIGHT,v 1.3 2001/04/03 18:37:16 stephens Exp $ ============================================================================== dynalog 0.1 README ============================================================================== *Title: This is the Dynalog package. *Requirements Dynalog requires tcl, tk, and tix. Support for perl and C clients is available. * Introduction Dynalog is a dynamic log management system. It is a simple real-time distributed message logging system. * Components It consists of the following components: srv - the dynalog log server gui - the message viewer application cli - a raw dynalog client Applications that need to post log information (i.e. debugging information, status messages) as a messsage to a file will connect to a dynalog server. These are "log" clients. Applications that need to receive messages are also clients. The Dynalog GUI is a client that connects to a Dynalog server to register for new messages. These clients are "watch" clients. Watch clients get all messages from all log clients that are connected to the same server that match the client's watch pattern. A server can be configured to handle multiple "log domains", each client can connect to a given domain and post and receive messages. The GUI can open multiple domains and filter them. Watch filters are forwarded to the server to avoid sending unwanted messages from being sent to watch clients that do not want them. ** Message Fields A log msg contains the following fields separated by TABS: domain:application:ident:host:pid:year:time:formatted_msg date is in YYYYMMDD time is in HHMMSSss date and time are always in GMT. ** Client API The log clients are presented with a consise API to handle connections to the server. *** Tcl API proc dynalog_create {args} proc dynalog_msg {handle ident args} proc dynalog_pattern {handle pattern} proc dynalog_destroy {handle} *** C API dynalog_handle * dynalog_create(const char *option, ...) const char * dynalog_pattern(dynalog_handle *handle, const char *pattern); const char * dynalog_msg(dynalog_handle *handle, const char *ident, const char *format, ...); *** Low-level Message Structure Dynalog uses sockets for connections. All low-level messages have the following structure: \n ... The server sends a reply after a request usually this is a "ok" message. The message is formatted as a string representation of two element Tcl array. The first element is the command; the second element is the command data. [list login $type] Initializes the connection [list bye {}] Closes the connection [list get $var] Gets a variable associated with the connection [list set [list $var $val]] Sets a variable associated with the connection [list pattern $patText] Sets the current filter pattern for the connection. [list getarchive {}] Gets the filtered archive messages [list msg $logMsg] Sends a message to all watch clients connected to the domain. [list state {}]] [list eval $tclCommand] ** API Examples $Id: README,v 1.2 1999/10/13 17:10:29 stephensk Exp $ ============================================================================== ============================================================================== NAME dynalog VERSION 0.1 CATEGORY Development Tools DESC A dynamic logfile viewer. CONTAINS_PKGS dynalog REQUIRES_OTHERS tcl tix tk DATE 2001/06/02 10:29:47 README /home/stephens/public_html/research/pub/dynalog0.1.txt ARCHIVE /home/stephens/public_html/research/pub/dynalog0.1.tgz NAME dynalog VERSION 0.1 CATEGORY Development Tools DESC A dynamic logfile viewer. SRC_DIR /home/stephens/ion/src/dynalog CHANGES_RELEASES 0.1 CVSLOG CVSLOG MAKE make MAKE_CLEAN clean veryclean RCS_ID $Id: PKG,v 1.1 1999/09/12 02:05:38 stephensk Exp $ README README REQUIRES_OTHERS tcl tk tix REQUIRES_PKGS OTHER tcl OTHER tix OTHER tk ============================================================================== dynalog 0.1 CHANGES ============================================================================== ============================================================================== Changes from release '' to 'PUBLISH_dynalog0_1' ============================================================================== ============================================================================== dynalog 0.1 Table of Contents ============================================================================== dynalog0.1: total 7 drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:33 . drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:33 .. -rw-r--r-- 1 stephens stepheng 308 Jun 2 05:33 CHANGES -rw-r--r-- 1 stephens stepheng 601 Jun 2 05:33 COPYRIGHT -rw-r--r-- 1 stephens stepheng 781 Jun 2 05:33 README -rw-r--r-- 1 stephens stepheng 109 Jun 2 05:33 TOC drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:33 src dynalog0.1/src: total 4 drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:33 . drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:33 .. -rw-r--r-- 1 stephens stepheng 390 Jun 2 05:33 GUM_BUILD_ROOT drwxr-xr-x 4 stephens stepheng 1024 Jun 2 05:33 dynalog dynalog0.1/src/dynalog: total 15 drwxr-xr-x 4 stephens stepheng 1024 Jun 2 05:33 . drwxr-xr-x 3 stephens stepheng 1024 Jun 2 05:33 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS -rw-r--r-- 1 stephens stepheng 216 Sep 11 1999 PKG -rw-r--r-- 1 stephens stepheng 2894 Oct 13 1999 README -rw-r--r-- 1 stephens stepheng 4087 Sep 13 1999 cli.c -rw-r--r-- 1 stephens stepheng 882 Sep 13 1999 dynalog.h -rw-r--r-- 1 stephens stepheng 1193 Dec 26 1999 fd.c drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 tcl dynalog0.1/src/dynalog/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Jun 2 05:33 .. -rw-r--r-- 1 stephens stepheng 202 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 21 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root dynalog0.1/src/dynalog/tcl: total 29 drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 4 stephens stepheng 1024 Jun 2 05:33 .. drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 CVS -rw-r--r-- 1 stephens stepheng 259 Oct 13 1999 cli -rw-r--r-- 1 stephens stepheng 2665 Oct 13 1999 cli.tcl -rw-r--r-- 1 stephens stepheng 724 Sep 11 1999 com.tcl -rw-r--r-- 1 stephens stepheng 310 Sep 11 1999 gui -rw-r--r-- 1 stephens stepheng 7869 Oct 13 1999 gui.tcl -rw-r--r-- 1 stephens stepheng 1342 Sep 11 1999 pat.tcl -rw-r--r-- 1 stephens stepheng 55 Sep 11 1999 srv -rw-r--r-- 1 stephens stepheng 5574 Oct 13 1999 srv.tcl -rw-r--r-- 1 stephens stepheng 3009 Oct 13 1999 util.tcl dynalog0.1/src/dynalog/tcl/CVS: total 5 drwxr-xr-x 2 stephens stepheng 1024 Feb 2 21:29 . drwxr-xr-x 3 stephens stepheng 1024 Feb 2 21:29 .. -rw-r--r-- 1 stephens stepheng 351 Feb 2 21:29 Entries -rw-r--r-- 1 stephens stepheng 25 Feb 2 21:29 Repository -rw-r--r-- 1 stephens stepheng 28 Feb 2 21:29 Root ==============================================================================