LCLS Controls: CMLOG
LCLS is using CMLOG:
Common Message Logging System to log messages from Linux, solaris
and PPC clients during development and operation.
Build History
The top-level directory for cmlog is /afs/slac/g/lcls/cmlog.
Binaries and libraries built on 27jul2005 for the targets:
Environment
Even though cmlog is not an EPICS tool, the environment is set up when
a user runs the LCLS epicsSetup script:
tcsh: |
source /afs/slac/g/lcls/epics/config/epicsSetup.csh |
bash: |
. /afs/slac/g/lcls/epics/config/epicsSetup.bash |
If you don't want to source epicsSetup, you can setup cmlog directly
via:
tcsh: |
source /afs/slac/g/lcls/cmlog/config/cmlogSetup.csh |
bash: |
. /afs/slac/g/lcls/cmlog/config/cmlogSetup.bash |
Server
The server is running on lcls-dev under the
laci account. It is started using
/afs/slac/g/lcls/cmlog/config/st.cmlog. The
/etc/init.d/cmlog startup script will start cmlogServer on lcls-dev reboot.
A cron job will (eventually) keep it running. Messages are kept in files under
/home/cmlog/data. If you have problems
connecting to it, ensure that these env vars are set:
CMLOG_HOST=lcls-dev |
CMLOG_PORT=9003 |
Browser
Type cmlog -c -u to start a browser. The cmd line options tell
it to initally connect to the server and to run in update mode, which
displays new messages as they arrive.
Eventually, a special browser will be added to lcls-dev to forward all
messages from the cmlogServer to the MCC error log. More later.
Linux Clients
Only linux clients are supported for LCLS. Current clients include:
Users at the Command Prompt
At the command line, "cmlogMsg <message>" can be typed to send a
message to the server (and see it displayed in the browser). The following
additional cmlogMsg tools are available to log more than just text:
- cmlogMsgStdin: reads the message to be logged from stdin.
- cmlogMsgLine: reads the message to be logged from the command line.
These support the following options:
[[-f facility_tag_value ]
[-h host]
[-p process_tag_value]
[-v verbosity_tag_value]
[-s severity_tag_value]
[-c code_tag_value]]
[[-help]]
Matlab Scripts
Matlab scripts can call cmlogMsg or cmlogMsgLine using the "unix" command:
unix(['cmlogMsg "<message>"']);
Alarm Handler
The
alarm handler sends a message for every severity change-of-state for PVs
listed in its configuration files.
Channel Watcher
Channel watcher sends a message for every value change for PVs listed in
its configuration files.
IOC Log Server
IOC log server (described in Chapter 10 of the
EPICS App Dev Guide) sends a
message for every text message received from all LCLS IOC clients.
IOC Cmlog Clients
IOC cmlog clients will be replaced by IOC log clients
in the near future.
Contact: Dayle Kotturi
Last Modified: Aug 23, 2006