YAZ-LOG(7) | Conventions and miscellaneous | YAZ-LOG(7) |
NAME¶
yaz-log - Log handling in all yaz-based programsSYNOPSIS¶
yaz-XXXX
[ -v loglevel,...]
[-l logfile]
DESCRIPTION¶
All YAZ-based programs use a common log subsystem, and should support common command line options for controlling it. This man page documents those.OPTIONS¶
-l logfileSpecify the file where the log is to be
written. If none is specified, stderr is used. The log is appended to this
file. If the file grows overly large, it is silently rotated: It is renamed to
logfile.1, logfile.2, .., 9 (old such file is deleted), and a
new file is opened. The limit defaults to 1GB, but can be set by the program.
The rotating limit can be specified with option -r for the YAZ frontend server
(yaz-ztest).
Rotation can also be implicitly enabled by using a filename which gets changed
for a given date, due to substitutions as given by the strftime(3)
function.
-v loglevel
Specify the logging level. The argument is a
set of log level names, separated by commas (no whitespace!), optionally
preceded by a '-' to negate that level. Most programs have their own default,
often containing fatal,warn,log, and some application-specific values. The
default list can be cleared with the word none, or individual bits can be
removed by prefixing them with a dash '-'.
LOG LEVELS TO CONTROL LOGGING¶
Some of the log levels control the way the log is written.GENERAL LOG LEVELS IN YAZ ITSELF¶
YAZ itself uses the following log levels:find . -name '*.[ch]' -print | xargs grep yaz_log_module_level | grep '"' | cut -d'"' -f2 | sort -u
LOG LEVELS FOR CLIENTS¶
LOG LEVELS FOR SERVERS¶
LOGGING EXAMPLES¶
See what log levels yaz-ztest is using:yaz-ztest -1 -v none,loglevel 14:43:29-23/11 [loglevel] Setting log level to 4096 = 0x00001000 14:43:29-23/11 [loglevel] Static log bit 00000001 'fatal' is off 14:43:29-23/11 [loglevel] Static log bit 00000002 'debug' is off 14:43:29-23/11 [loglevel] Static log bit 00000004 'warn' is off 14:43:29-23/11 [loglevel] Static log bit 00000008 'log' is off 14:43:29-23/11 [loglevel] Static log bit 00000080 'malloc' is off 14:43:29-23/11 [loglevel] Static log bit 00000800 'flush' is off 14:43:29-23/11 [loglevel] Static log bit 00001000 'loglevel' is ON 14:43:29-23/11 [loglevel] Static log bit 00002000 'server' is off 14:43:29-23/11 [loglevel] Dynamic log bit 00004000 'session' is off 14:43:29-23/11 [loglevel] Dynamic log bit 00008000 'request' is off 14:44:13-23/11 yaz-ztest [loglevel] returning log bit 0x4000 for 'session' 14:44:13-23/11 yaz-ztest [loglevel] returning log bit 0x2000 for 'server' 14:44:13-23/11 yaz-ztest [loglevel] returning NO log bit for 'eventl' 14:44:20-23/11 yaz-ztest [loglevel] returning log bit 0x4000 for 'session' 14:44:20-23/11 yaz-ztest [loglevel] returning log bit 0x8000 for 'request' 14:44:20-23/11 yaz-ztest [loglevel] returning NO log bit for 'requestdetail' 14:44:20-23/11 yaz-ztest [loglevel] returning NO log bit for 'odr' 14:44:20-23/11 yaz-ztest [loglevel] returning NO log bit for 'ztest'
./yaz-ztest -1 -v requestdetail 14:45:35-23/11 yaz-ztest [server] Adding static Z3950 listener on tcp:@:9999 14:45:35-23/11 yaz-ztest [server] Starting server ./yaz-ztest pid=32200 14:45:38-23/11 yaz-ztest [session] Starting session from tcp:127.0.0.1 (pid=32200) 14:45:38-23/11 yaz-ztest [requestdetail] Got initRequest 14:45:38-23/11 yaz-ztest [requestdetail] Id: 81 14:45:38-23/11 yaz-ztest [requestdetail] Name: YAZ 14:45:38-23/11 yaz-ztest [requestdetail] Version: 2.0.28 14:45:38-23/11 yaz-ztest [requestdetail] Negotiated to v3: srch prst del extendedServices namedresults scan sort 14:45:38-23/11 yaz-ztest [request] Init from 'YAZ' (81) (ver 2.0.28) OK 14:45:39-23/11 yaz-ztest [requestdetail] Got SearchRequest. 14:45:39-23/11 yaz-ztest [requestdetail] ResultSet '1' 14:45:39-23/11 yaz-ztest [requestdetail] Database 'Default' 14:45:39-23/11 yaz-ztest [requestdetail] RPN query. Type: Bib-1 14:45:39-23/11 yaz-ztest [requestdetail] term 'foo' (general) 14:45:39-23/11 yaz-ztest [requestdetail] resultCount: 7 14:45:39-23/11 yaz-ztest [request] Search Z: @attrset Bib-1 foo OK:7 hits 14:45:41-23/11 yaz-ztest [requestdetail] Got PresentRequest. 14:45:41-23/11 yaz-ztest [requestdetail] Request to pack 1+1 1 14:45:41-23/11 yaz-ztest [requestdetail] pms=1048576, mrs=1048576 14:45:41-23/11 yaz-ztest [request] Present: [1] 1+1 OK 1 records returned
LOG FILENAME EXAMPLES¶
A file with format my_YYYYMMDD.log is where Y, M, D is year, month, and day digits is given as follows -l my_%Y%m%d.log . And since the filename is depending on day, rotaion will occur on midnight. A weekly log could be specified as -l my_%Y%U.log.FILES¶
SEE ALSO¶
04/16/2012 | YAZ 4.2.30 |