Former-commit-id:06a8b51d6d
[formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f] Former-commit-id:9f19e3f712
649 lines
17 KiB
HTML
649 lines
17 KiB
HTML
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
|
|
<html>
|
|
<head>
|
|
<meta content="text/html; charset=iso-8859-1"
|
|
http-equiv="Content-Type">
|
|
<meta
|
|
content="Mozilla/4.79 [en] (X11; U; Linux 2.4.18-27.7.xsmp i686) [Netscape]"
|
|
name="GENERATOR">
|
|
<title>LogFile Information</title>
|
|
</head>
|
|
<body bgcolor="#ffffff">
|
|
<h1>
|
|
logFile Information</h1>
|
|
April 21, 2006<br>
|
|
<br>
|
|
Table of Contents
|
|
<br>
|
|
<br>
|
|
<a href="#location">Location of LogFiles</a>
|
|
<br>
|
|
<a href="#logPref">Logging Preferences</a>
|
|
<br>
|
|
<a href="#cmdline">Setting Up Logging for Command Line Programs</a>
|
|
<br>
|
|
<hr width="100%">
|
|
<h2><a name="location"></a>Location of LogFiles</h2>
|
|
Logfiles are stored and automatically purged in the logfiles
|
|
directory.
|
|
This location is <i>release</i>/data/logfiles, typically
|
|
/awips/GFESuite/primary/data/logfiles
|
|
on the dx AWIPS-baselined systems, or /awips/GFESuite/data/logfiles on
|
|
the lx AWIPS-baselined systems. Under this directory is a date/time
|
|
stamped
|
|
directory in the form of yyyymmdd, such as 20020327 for March 27,
|
|
2002.
|
|
Within each date's directory are the logging files.
|
|
<p>The naming of each individual log file is dependent upon the start
|
|
up
|
|
script for that application. The following table shows the
|
|
program
|
|
name and log filename. The collective field indicates whether
|
|
subsequent
|
|
executions of the program go into individual files (non-collective) or
|
|
a single file (collective).
|
|
<br>
|
|
|
|
<br>
|
|
|
|
<table nosave="" border="1" width="100%">
|
|
<tbody>
|
|
<tr>
|
|
<td><b>Program Name</b></td>
|
|
<td><b>Logging File Name</b></td>
|
|
<td><b>Collective</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>configureTextProducts</td>
|
|
<td>configureTextProducts%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>coordConversion</td>
|
|
<td>coordConversion%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dumpAT</td>
|
|
<td>dumpAT%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>getNotify</td>
|
|
<td>getNotify%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ghETN<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ghETN%P%H%T (Note: by
|
|
default, no logging occurs for this program)<br>
|
|
</td>
|
|
<td style="vertical-align: top;">no<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpAG</td>
|
|
<td>ifpAG%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpBreakAllLocks</td>
|
|
<td>ifpBreakAllLocks%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpDFC</td>
|
|
<td>ifpDFC%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpDFCArchive (archiveObs, archivePointFcst)<br>
|
|
</td>
|
|
<td>dfc-archiveObs_%H, dfc-archivePointFcst_%H</td>
|
|
<td>yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpIMAGE</td>
|
|
<td>ifpIMAGE_%H</td>
|
|
<td>yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpInit</td>
|
|
<td>ifpInit%P%H%T, when run from the command line, <i>moduleName</i>Init_%H
|
|
when run automatically from the ifpServer</td>
|
|
<td>no (command line), yes (from ifpServer)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpnetCDF</td>
|
|
<td>ifpnetCDF_%H</td>
|
|
<td>yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ingestAT<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ingestAT_%H<br>
|
|
</td>
|
|
<td style="vertical-align: top;">yes<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>iscExtract</td>
|
|
<td>iscExtract_%H</td>
|
|
<td>yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td>iscInject</td>
|
|
<td>---none---</td>
|
|
<td>n/a</td>
|
|
</tr>
|
|
<tr>
|
|
<td>iscMosaic</td>
|
|
<td>iscMosaic_%H</td>
|
|
<td>yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td>gfe (runGFE)</td>
|
|
<td>gfe%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ghgMonitor<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ghgMonitor%P%H%T</td>
|
|
<td style="vertical-align: top;">no<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpServer (runIFPServer)</td>
|
|
<td>ifpServer%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpServerStats</td>
|
|
<td>ifpServerStats%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ifpServerText</td>
|
|
<td>ifpServerText%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">makeD2DFile<br>
|
|
</td>
|
|
<td style="vertical-align: top;">makeD2DFile%P%H%T</td>
|
|
<td style="vertical-align: top;">no<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>moveGFEData</td>
|
|
<td>moveGFEData%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>publishGFE</td>
|
|
<td>publishGFE%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">purgeAllGrids<br>
|
|
</td>
|
|
<td style="vertical-align: top;">purgeAllGrids%P%H%T<br>
|
|
</td>
|
|
<td style="vertical-align: top;">no<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">requestAT<br>
|
|
</td>
|
|
<td style="vertical-align: top;">requestAT_%H<br>
|
|
</td>
|
|
<td style="vertical-align: top;">yes<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>runIFPText</td>
|
|
<td>ifpText%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td>runProcedure</td>
|
|
<td>procedure%P%H%T</td>
|
|
<td>no</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">sendAT<br>
|
|
</td>
|
|
<td style="vertical-align: top;">sendAT_%H<br>
|
|
</td>
|
|
<td style="vertical-align: top;">yes<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">sendGfeMessage<br>
|
|
</td>
|
|
<td style="vertical-align: top;">sendGfeMessage%P%H%T<br>
|
|
</td>
|
|
<td style="vertical-align: top;">no<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">VTECDecoder<br>
|
|
</td>
|
|
<td style="vertical-align: top;">VTECDecoder_%H<br>
|
|
</td>
|
|
<td style="vertical-align: top;">yes<br>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</p>
|
|
<p>The "% modifiers" are replaced with actual values depending upon the
|
|
state of the system. Here is a complete list of modifiers:
|
|
<br>
|
|
|
|
<table nosave="" border="1" width="100%">
|
|
<tbody>
|
|
<tr>
|
|
<td><b>Modifier</b></td>
|
|
<td><b>Meaning</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>%d</td>
|
|
<td>display being used, i.e., contents of the DISPLAY environment
|
|
variable</td>
|
|
</tr>
|
|
<tr>
|
|
<td>%D</td>
|
|
<td>Year Month Day date string. Identical to %Y%m%d for strftime
|
|
or yymmdd
|
|
format</td>
|
|
</tr>
|
|
<tr>
|
|
<td>%T</td>
|
|
<td>Hour Minute Second time string. Identical to "H%M%S for
|
|
strftime of
|
|
hhmmss format</td>
|
|
</tr>
|
|
<tr>
|
|
<td>%P</td>
|
|
<td>Process identification number</td>
|
|
</tr>
|
|
<tr>
|
|
<td>%N</td>
|
|
<td>Process name</td>
|
|
</tr>
|
|
<tr>
|
|
<td>%L</td>
|
|
<td>Logging directory (top-level) as defined by LOG_DIR
|
|
environment variable</td>
|
|
</tr>
|
|
<tr>
|
|
<td>%H</td>
|
|
<td>Hostname of machine</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</p>
|
|
<p></p>
|
|
<hr width="100%">
|
|
<h2><a name="logPref"></a>Logging Preferences</h2>
|
|
Logging uses the AWIPS LogStream facility. Environment variables
|
|
are used to define the location/handling of the logfiles. These
|
|
environment
|
|
variables are automatically set for you with many of the GFESuite set
|
|
of
|
|
programs. Here is a summary:
|
|
<ul>
|
|
<li>LOG_DIR: top level directory for logging files</li>
|
|
<li>LOG_PREF: location of logging preferences files</li>
|
|
<li>LOG_FILE: definitive logging file names for non-collective logging</li>
|
|
<li>COLLECTIVE_FILE: definitive logging file names for collective
|
|
logging</li>
|
|
</ul>
|
|
GFESuite is set up with various logging preferences files. These
|
|
are located in release/etc/BASE/logPref/*.logPref, typically
|
|
/awips/GFESuite/primary/etc/BASE/logPref/*.logPref
|
|
on the AWIPS-baselined systems.
|
|
<p>The following table lists the logPref files and the programs that
|
|
use
|
|
them. Note that the program names and the script names which are
|
|
used to run the program may be different (for example, ifpServer is the
|
|
program name, but runIFPServer is the script that is used to start it):
|
|
<br>
|
|
|
|
<br>
|
|
|
|
<table nosave="" border="1" width="100%">
|
|
<tbody>
|
|
<tr>
|
|
<td><b>Logging Preference File</b></td>
|
|
<td><b>Programs Using the File</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>archiveObs.logPref</td>
|
|
<td>ifpDFCArchive (archiveObs)<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>archivePointFcst.logPref</td>
|
|
<td>ifpDFCArchive (archivePointFcst)<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>configureTextProducts.logPref</td>
|
|
<td>configureTextProducts<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>coordConversion.logPref</td>
|
|
<td>coordConversion<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>dumpAT.logPref</td>
|
|
<td>dumpAT<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>getNotify.logPref</td>
|
|
<td>getNotify<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>gfe.logPref</td>
|
|
<td>runGFE (GFE)<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ghETN.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ghETN<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ghgMonitor.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ghgMonitor<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpAG.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ifpAG<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpBreakAllLocks.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ifpBreakAllLocks<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpDFC.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ifpDFC<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpIMAGE.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ifpIMAGE<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpInit.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ifpInit<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpnetCDF.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ifpnetCDF<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpServer.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">runIFPServer (ifpServer)<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpServerStats.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ifpServerStats<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ifpServerText.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ifpServerText<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">ingestAT.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">ingestAT<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">iscExtract.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">iscExtract<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">iscMosaic.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">iscMosaic<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">makeD2DFile.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">makeD2DFile<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">moveGFEData.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">moveGFEData<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">publishGFE.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">publishGFE<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">purgeAllGrids.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">purgeAllGrids<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">requestAT.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">requestAT<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">runIFPText.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">runIFPText<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">runProcedure.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">runProcedure<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">sendAT.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">sendAT<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">sendGfeMessage.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">sendGfeMessage<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">setupTextEA.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">setupTextEA<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;">VTECDecoder.logPref<br>
|
|
</td>
|
|
<td style="vertical-align: top;">VTECDecoder<br>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</p>
|
|
<p>Here is an example of a logging preferences file:
|
|
</p>
|
|
<p><tt>#Process
|
|
Src
|
|
Sink Category</tt>
|
|
<br>
|
|
<tt>#
|
|
File</tt>
|
|
<br>
|
|
<tt>#-----------------------------------------</tt>
|
|
<br>
|
|
<tt>all
|
|
all file
|
|
all
|
|
= on</tt>
|
|
<br>
|
|
<tt>all
|
|
all file
|
|
debug
|
|
= off</tt>
|
|
<br>
|
|
<tt>all
|
|
all file
|
|
verbose
|
|
= off</tt>
|
|
<br>
|
|
<tt>all
|
|
all file
|
|
use
|
|
= off</tt>
|
|
<br>
|
|
<tt>all
|
|
all
|
|
tty
|
|
all = off # nothing goes to a terminal</tt>
|
|
<br>
|
|
<tt>all
|
|
all collective all = on</tt>
|
|
<br>
|
|
<tt>all
|
|
all collective debug = off</tt>
|
|
<br>
|
|
<tt>all
|
|
all collective verbose = off</tt>
|
|
</p>
|
|
<p><tt># recommended to see hourly statistics</tt>
|
|
<br>
|
|
<tt>all ifpServer.C file verbose = on</tt>
|
|
<br>
|
|
<tt>all RunInit.C file verbose = on</tt>
|
|
<br>
|
|
<tt>all all
|
|
all
|
|
use = off</tt>
|
|
</p>
|
|
<p><tt># Prefixes</tt>
|
|
<br>
|
|
<tt>all timeStamp =
|
|
on
|
|
# time stamps on</tt>
|
|
<br>
|
|
<tt>#all processName = off #
|
|
process
|
|
name off</tt>
|
|
<br>
|
|
<tt>#all processID =
|
|
on
|
|
# process id off</tt>
|
|
<br>
|
|
<tt>all fileName =
|
|
on
|
|
# filenames wanted</tt>
|
|
<br>
|
|
<tt>all lineNo =
|
|
on
|
|
# line numbers wanted</tt>
|
|
</p>
|
|
<p>The first section of the file is a list of process, source file,
|
|
sinks
|
|
(file, tty, collective), and a category (all, debug, verbose, event,
|
|
use,
|
|
problem, fatal) with an "on" or "off" appended. The file is
|
|
parsed
|
|
sequentially, thus turning a category off first and then turning it
|
|
back
|
|
on in a later line will result with the category being on.
|
|
</p>
|
|
<p>Logging can be enabled/disabled on a per-process basis and filename
|
|
basis.
|
|
</p>
|
|
<p>The second section defines prefixes. The format of the log
|
|
files
|
|
are controlled through this set of definitions. The time stamps,
|
|
process name and id, filename and line number may all be enabled or
|
|
disabled
|
|
through the logging preferences file.
|
|
</p>
|
|
<p>Be careful if changing the logging preferences files. These
|
|
files
|
|
are not supported through the <a href="baseSiteUserConcept.html">BASE,
|
|
SITE, USER concep</a>t and changes will be overwritten with the next
|
|
GFESuite
|
|
upgrade.
|
|
</p>
|
|
<p></p>
|
|
<hr width="100%">
|
|
<h2><a name="cmdline"></a>Setting up Logging for Command Line Programs</h2>
|
|
If you run a program that doesn't use one of the GFESuite-supplied
|
|
startup
|
|
scripts, the logging will not be enabled (by default) and hence you
|
|
will
|
|
not be able to tell if problems occurred during the execution of the
|
|
program.
|
|
<p>You can set up logging for command line programs by setting the
|
|
following
|
|
environment variables:
|
|
</p>
|
|
<ul>
|
|
<li>LOG_PREF - points to the logging preferences files (you can use
|
|
the
|
|
gfe.logPref
|
|
if desired)</li>
|
|
<li>LOG_DIR - points to the place where logging will occur (normally
|
|
you
|
|
can
|
|
point it to <i>release</i>/data/logfiles, or
|
|
/awips/GFESuite/primary/data/logfiles
|
|
and then the server will purge the log files for you)</li>
|
|
<li>LOG_FILE - not normally needed, if not supplied, then the logging
|
|
filename
|
|
will be processname_pid_host_time within the .../logfiles/yyyymmdd/
|
|
directories.</li>
|
|
<li>COLLECTIVE_FILE - not normally needed. Controls the logging
|
|
filename
|
|
in a similar manner to the LOG_FILE but for collective sinks.</li>
|
|
</ul>
|
|
</body>
|
|
</html>
|