The logbook functionality is implemented by a single daemon elogd program which is written in C. It uses structured ASCII files to store logbook pages, which can be retrieved through any web browser. Logbook entries can either be entered with a command line program or through the Web interface. Since only forms and tables are used, no Java or Javascript are necessary, which makes the logbook display very fast.
The features of ELOG make it useful for several applications:
ELOG is part of the MIDAS data acquisition system, but it can also be downloaded separately.
tar -xzvf elog-x.x.tar.gz
.
This creates a subdirectory elog-x.x
where x.x is the
version number. In that directory execute make
, which
creates the executables elogd
and elog
. These executables can then be copied to a convenient place like
/usr/local/bin
or ~/bin
.
The daemon elogd can be started manually with
elogd -p 8080
where the -p flag specifies the port. Without the -p flag, the server uses the standard WWW port 80. Note that ports below 1024 can only be uses if elogd is started a root, or the "sticky bit" is set on the executable.
If the program complains with somwthing like "cannot bind to port...", it
could be that the network is not started on the Linux box. This can be
checked with the /sbin/ifconfig
program, which must
show that eth0
is up and running.
To start the daemon automatically, it can be run from the /etc/rc.d/init.d system. Please consult your distribution to find out how to do that. I use a script which I put under /etc/rc.d/init.d. Then I call
chkconfig --add elogd
which works fine under RedHat 6.x.
elogxxx.exe
file which expands
to the two source files and the executables (do not omit the exe
extension, it's necessary!). The daemon elogd.exe
can be started directly. Under Windows, the ports below 1024 can be used
without restriction. So if no web server is running on the same PC the ELOG
daemon listens under the standard Web port 80.Under Windows NT/2000, elogd can be started also as a service. Contact the author for more details.
elogd.cfg
file. If this file is not in the current
directory where elogd is started, it can be specified via the command line
parameter -c
. Under UNIX, you would typically
start the daemon with
elogd -p 8080 -c /usr/local/elog/elogd.cfg -D
where the -D
flag tells elogd to start as a daemon
in the background (does not work under NT). Once the configuration file
is changed, the daemon has to be restarted.
The configuration file elogd.cfg
has a simple
ASCII format, here is an example:
[Linux] Comment = General linux tips and tricks Write Password=aGl4X21pZA== Data dir = /usr/local/elog/linux Types = Routine, Software Installation, Problem Fixed, Configuration, Tips & Tri cks, Info, Other Categories = General, Hardware, Software, Network, Applications, Shell, Account, Packages, Daemons, Other [PC] Comment = PC general informatoin Data dir = /usr/local/elog/pc Types = Routine, Common Problems, Problem Fixed, BIOS Configuration, Other Categories = General, Hardware, Software, Network, OtherEach logbook is defined by a
[<name>]
section
where <name> is the name of the logbook. Each logbook has a separate
directory where the logbook entries are stored, which is controlled by the
Data dir
statement. Note that the directories must
exist and must be writable by the elogd program.
The Types
and Categories
define the
classes of messages which can be entered and queried in a logbook. The
optional Write password
and Read Password
statements contain the password in an encoded form. To change
them, one can use elogd directly with the -r
and
-w
flags. To set the write password of logbook "linux" to
"test", on would enter:
elogd -w test -l linux
Following additional flags are avaliable in the configuration file:
elog
elog
can be used. The parameters
are:
elog -h hostname [-p port] [-l logbook] [-w password] -a author -t type -c category -b subject -f attachment -m textfile | textIf some of the parameters are not supplied, they are asked for interactively. The message text can be entered directly. If the EDITOR environment variable is set, the specified editor is used. Alternatively, the message text can be submitted from a file with the
-m
flag.
The elog
program makes it possible to submit logbook
entries automatically by the system or from scripts. In some shift logbooks
this feature is used to enter alarm messages automatically into the logbook.
The database ELOG save messages is a plain ASCII format. One file is
created for each day in the form YYMMDD.log
where
YY is the year, MM the montdh and DD the day. The only non-ASCII character
is a form-feed at the end of each message. If one sends a log file directly
to a printer, each message is therefore printed on a separate page. Note
that the log files should not be edited manually, since this could invalidate
the internal database structure (each header contains the message length
in bytes which then would become wrong).
If attachment are submitted, they are saved as separate files with the name
YYMMDD_HHMMSS_name
where in addition to the date the
time is specified and name
is the original file name of
the attachment. To copy the database to another computer, only the *.log
files and the attachment files need to be copied. To copy for example all
files form March 2001, one can select them with 0103??.log
and 0103??_*
.