root/trunk/src/java/org/jcoderz/commons/logging/package.xml

Revision 1304, 30.2 kB (checked in by amandel, 3 years ago)

#58 Documentation, XML Formatter.

  • Property svn:mime-type set to text/xml
  • Property svn:eol-style set to native
Line 
1<body>
2
3<section>
4   <title>Logging Formatter</title>
5   <p>This section provides a comprehensive architectural overview
6   of the FawkeZ LogFormatter, and how it could be integrated
7   into a Java Application environment. It describes the format of
8   how log messages are presented and how this fits into CA Unicenter
9   requirements and gives an overview of related tools.</p>
10
11   <section>
12      <title>Integration into The Java Logging API</title>
13      <p>A Logger uses a Handler for publishing a LogRecord.
14      The LogRecord encapsulates all kinds of information,
15      the location where it was logged, the message text,
16      parameters for the message, thread id, etc.</p>
17
18      <p>The Handler uses a Formatter for converting all this
19      information into a human readable string. The FawkeZ
20      LogFormatter is an implementation of such a Formatter.
21      The diagram below sketches an overview of this collaboration.
22      For further information see the API documentation of the Java
23      SDK classes in the <classname>java.util.logging package.</classname></p>
24
25      <figure>
26         <title>Collaboration of the main Java logging classes</title>
27         <img src="images/logging-collaboration.svg"/>
28      </figure>
29   </section>
30
31   <section>
32      <title>Log format</title>
33      <p>This chapter specifies the log format and lists significant
34      goals of this format.</p>
35
36      <section>
37         <title>Goals and Constraints</title>
38         <p>The Log Format is based upon the following goals:
39            <ul>
40               <li>Text based format to allow viewing the log file
41               without special tools.</li>
42               <li>Allow usage of Unix standard tools for filtering
43               messages out of log files like <classname>grep</classname> and
44               <classname>tail</classname>.</li>
45               <li>Meet requirements of CA Unicenter.</li>
46               <li>Put as much information as possible into the log file</li>
47               <li>Present the data human readable even without having
48               to use any tool.</li>
49            </ul>
50         </p>
51      </section>
52
53      <section>
54         <title>Overview</title>
55         <p>In general, a <classname>LogRecord</classname> is split into
56         several lines of text containing line specific information.
57         The line starts with a character denoting the type of the
58         current line. The output is slightly different between
59         Trace Logs and Message Logs.
60         In case of Message Logs the output contains always the stack
61         trace to enable thorough analysis of the log file.</p>
62      </section>
63
64      <section>
65         <title>Log fields</title>
66         <p>The following presents the fields being logged and the
67         format used for logging the appropriate field.
68         Log Lines are composed of these fields, in general with
69         blanks as delimiters.</p>
70
71         <informaltable frame='none'>
72            <tgroup cols='2' align='left' colsep='0' rowsep='0'>
73            <tbody>
74            <row><entry>Log line type</entry><entry>A single character that
75               defines the type of the current log line.</entry></row>
76            <row>
77               <entry>Timestamp</entry><entry>Gives the time in
78               UTC in the Format
79               <classname>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</classname>, for example
80               <classname>2005-05-19T11:35:06.547Z</classname></entry></row>
81            <row>
82               <entry>Node Id</entry><entry>Fix length of 15 chars,
83               left padded with blanks.</entry></row>
84            <row><entry>Instance Id</entry><entry>Fix length of 8 chars,
85               right padded with blanks.</entry></row>
86            <row><entry>Thread Id</entry><entry>Fix length of 5,
87               left padded with blanks.</entry></row>
88            <row><entry>Level</entry><entry>Fix length 8,
89               right padded with blanks</entry></row>
90            <row><entry>Symbol Id</entry><entry>symbolic id of the message,
91               in general hex string, fix length 8, left padded
92               with blanks</entry></row>
93            <row><entry>BusinessImpact</entry><entry>One of Critical,
94               Major, Middle, Minor, None, Undefined.
95               Fix length 9, right padded with blanks</entry></row>
96            <row><entry>ThreadName / Category</entry><entry>This entry has been
97               changed. It was One of Audit, Business,
98               Flow, Security, Technical, Undefined.
99               And is now changed to the last 9 characters of the thread name.
100               In case of a ordinary log record the the name of the logger
101               thread is used. This might be wrong in certain setups but is
102               correct in many cases. The fawkeZ loggable records the
103               thread name of the thread that created the loggable instance
104               which is the correct thread name in all cases.
105               Fix length 9, right padded with blanks.
106            </entry></row>
107            <row><entry>Tracking Number</entry><entry>Unique number of
108               the log message, hex string. Fix length 8, left
109               padded with 0.</entry></row>
110            <row><entry>Sequence Of TrackingNumbers</entry><entry>The Log
111               format supports nesting of log messages.
112               In some log lines the tracking numbers are logged
113               as sequence of tracking numbers of all nested log
114               messages, which are known when logging the line.
115               So with every nested log message this sequence increases.
116               It consists of elements of format Tracking Number
117               delimited by the char sequence ???>-???.</entry></row>
118            </tbody>
119            </tgroup>
120        </informaltable>
121      </section>
122
123      <section>
124         <title>Log line types</title>
125         <p>The following presents the types of log lines, the
126         appropriate type code and the fields the log line is composed of.
127         The type code is the first character of the log line followed
128         by a blank followed by the fields specific for the line.</p>
129
130         <section>
131            <title>Trace line</title>
132            <p>Type code <classname>'T???</classname>.
133            This is the first line of a trace log. It consists of
134            the following fields, in this order, delimited by blanks:
135            <ul>
136               <li>Timestamp Format</li>
137               <li>Node Id</li>
138               <li>Instance Id</li>
139               <li>Thread Id</li>
140               <li>Level</li>
141               <li>Symbol Id</li>
142               <li>Business Impact</li>
143               <li>ThreadName (was Category)</li>
144               <li>Tracking Number</li>
145               <li>Log Source in the format classname.methodname()</li>
146               <li>Parameters as formatted list</li>
147               <li>Message text</li>
148            </ul>
149            </p>
150         </section>
151
152         <section>
153            <title>Exception line</title>
154            <p>Type code <classname>???F???</classname>. This is equal
155            to a trace line and used if the trace log was logged
156            with an exception</p>
157         </section>
158
159         <section>
160            <title>Message line</title>
161            <p>Type code <classname>???M???</classname>. This is logged
162            in case of Message Logs. It consists of the following fields:
163            <ul>
164               <li>Timestamp Format</li>
165               <li>Node Id</li>
166               <li>Instance Id</li>
167               <li>Thread Id</li>
168               <li>Level</li>
169               <li>Symbol Id</li>
170               <li>Business Impact</li>
171               <li>ThreadName (was Category)</li>
172               <li>Sequence of TrackingNumbers</li>
173               <li>Formatted message text</li>
174            </ul>
175            </p>
176         </section>
177
178         <section>
179            <title>Error line</title>
180            <p>Type code <classname>???E???</classname>.
181            This is logged in case of Message Logs if the Loggable
182            has as cause an exception other than another instance
183            of Loggable and has the same format as a Message Line</p>
184         </section>
185
186         <section>
187            <title>Parameter line</title>
188            <p>Type code <classname>???P???</classname>.
189            This contains the parameters given in a Message log and
190            consists of the following fields:
191               <ul>
192                  <li>Thread Id</li>
193                  <li>Sequence of Tracking Numbers</li>
194                  <li>Parameter Name, delimited by
195                     <classname>": \t"</classname> from the next field</li>
196                  <li>List of parameter values in the format</li>
197                  <li><classname>[value1,value2,?]</classname> with
198                     all <classname>','</classname> and
199                     <classname>']'</classname> chars in the
200                     values escaped.</li>
201               </ul>
202            </p>
203         </section>
204
205         <section>
206            <title>Nested line</title>
207            <p>Type code <classname>???N???</classname>.
208            A line of this type is logged when there is a cause
209            for a log message. It consists of the following fields:
210               <ul>
211                  <li>Thread Id</li>
212                  <li>Sequence of Tracking Numbers</li>
213                  <li>"Caused by: "</li>
214                  <li>One of  Exception text in case the cause is
215                     not a Loggable or Message symbol in case
216                     the cause is a Loggable</li>
217               </ul>
218            </p>
219         </section>
220
221         <section>
222            <title>Stack trace line</title>
223            <p>Type code <classname>???S???</classname>.
224            This type of line is used when the stack trace of
225            <classname>Loggables</classname> or
226            <classname>Throwables</classname> is logged.
227            It consists of the fields:
228               <ul>
229                  <li>Thread Id</li>
230                  <li>Sequence of Tracking Numbers</li>
231                  <li>One of "Caused by: " followed by exception message or
232                     "  at " followed by classname.methodname</li>
233                  <li><classname>?????????</classname> followed by number
234                     followed by <classname>??? more???</classname></li>
235               </ul>
236            </p>
237         </section>
238      </section>
239
240      <section>
241         <title>Composition of log lines</title>
242
243         <p>This section describes how the LogLines are composed for a formatted
244         LogRecord. There are some slight differences between TraceLogs and
245         MessageLogs.</p>
246
247         <section>
248            <title>Trace log composition</title>
249
250            <p>In case of a trace log we have the following composition of log
251            lines:
252
253            Either a single line of log line type 'T'
254               <pre>
255T 2005-08-28T10:12:58.520Z     10.64.4.103 P6c7e483c     10 INFO     TRA [...]</pre>
256
257            or a single line of log line type 'F' followed by the log line
258            type 'N' for every nested throwable and additional lines of the
259            log line type 'S'.
260
261               <pre>
262F 2005-08-28T10:12:57.655Z     10.64.4.103 P6c7e483c     10 SEVERE   TRA [...]
263N    10 00000002 Caused by: java.lang.Exception: This is a top level tes [...]
264S    10 00000002 java.lang.Exception: This is a top level test exception [...]
265S    10 00000002   at org.jcoderz.commons.LogFormatterOutputTest.testLog [...]
266[...]
267S    10 00000002   at org.apache.tools.ant.taskdefs.optional.junit.JUnit [...]</pre>
268            </p>
269         </section>
270
271         <section>
272            <title>Message Log Composition</title>
273
274            <p>In case of a message log we have the following composition of log
275            lines:
276
277            A single line of either the log line type 'E' or 'M' followed by
278            at least three lines <footnote><p>The log source line
279            "classname.method(line)", the message symbol and solution text is
280            always logged as log line type 'P' (parameters)</p></footnote>
281            with the log line type 'P'.
282            After all the nested elements are logged, log lines of
283            type ???S??? for the top level and every nested element.
284
285               <pre>
286M 2005-08-28T10:12:57.367Z     10.64.4.103 P6c7e483c     10 INFO     200 [...]
287P    10 e15f4df4 _SYMBOL_:    [FWK_TST_TEST_MESSAGE]                     [...]
288P    10 e15f4df4 _SOLUTION_:  [This is the solution of the test message. [...]
289P    10 e15f4df4 _LOGGED_AT_:    [org.jcoderz.commons.LogFormatterOutput [...]
290P    10 e15f4df4 NOW:   [Sun Aug 28 12:12:57 CEST 2005]
291P    10 e15f4df4 FOO:   [foo]
292S    10 e15f4df4 FWK_TST_TEST_MESSAGE
293S    10 e15f4df4   at org.jcoderz.commons.TstLogMessage$TestMessage.log( [...]
294[...]
295S    10 e15f4df4   at org.apache.tools.ant.taskdefs.optional.junit.JUnit [...]</pre>
296            for a nested Throwable, a log line type 'N'
297               <pre>
298E 2005-08-28T10:12:57.693Z     10.64.4.103 P6c7e483c     10 SEVERE   101 [...]
299P    10 f63e719c _SYMBOL_:    [FWK_RTE_INTERNAL_ERROR]
300P    10 f63e719c _SOLUTION_:  [Review the log file to determine the prob [...]
301P    10 f63e719c _LOGGED_AT_:    [org.jcoderz.commons.LogFormatterOutput [...]
302P    10 f63e719c TECHNICAL_DESCRIPTION:   [dump stack trace w/ nested Nu [...]
303N    10 f63e719c Caused by: java.lang.NullPointerException
304S    10 f63e719c FWK_RTE_INTERNAL_ERROR
305S    10 f63e719c   at org.jcoderz.commons.LogFormatterOutputTest.testSer [...]
306[...]
307S    10 f63e719c   at org.apache.tools.ant.taskdefs.optional.junit.JUnit [...]
308S    10 f63e719c Caused by: java.lang.NullPointerException
309S    10 f63e719c ...17 more</pre>
310
311            or for a nested Loggable, a log line type 'N' followed by a line
312            of the log line type 'M' or 'E', followed by the log line type 'P'
313            as described above.
314               <pre>
315F 2005-08-28T10:13:30.215Z     10.64.4.103 P6c7e483c     10 FINER    TRA [...]
316N    10 0000051e>-c2472cd8 Caused by: FWK_RTE_ARGUMENT_MALFORMED
317E 2005-08-28T10:13:30.215Z     10.64.4.103 P6c7e483c     10 FINER    101 [...]
318P    10 0000051e>-c2472cd8 _SYMBOL_:   [FWK_RTE_ARGUMENT_MALFORMED]
319P    10 0000051e>-c2472cd8 _SOLUTION_:    [Supply a correct value for th [...]
320P    10 0000051e>-c2472cd8 _LOGGED_AT_:   [org.jcoderz.commons.types     [...]
321P    10 0000051e>-c2472cd8 ARGUMENT_NAME:    [FooToken]
322P    10 0000051e>-c2472cd8 ARGUMENT_VALUE:   [FOO=BAR00000000000001\,T=C [...]
323P    10 0000051e>-c2472cd8 HINT:    [The Foo Token must consist of three [...]
324S    10 0000051e>-c2472cd8 FWK_RTE_ARGUMENT_MALFORMED
325S    10 0000051e>-c2472cd8   at org.jcoderz.commons.types.FooToken       [...]
326[...]
327S    10 0000051e>-c2472cd8   at org.apache.tools.ant.taskdefs.optional.j [...]</pre>
328            </p>
329         </section>
330      </section>
331   </section>
332   <section>
333      <title>Constraints and Restrictions</title>
334
335      <section>
336         <title>White space Normalization</title>
337
338         <p>The log format depends heavily on the log line type code at the
339         start of the log line and that it contains all the fields belonging to
340         the specific line. Therefore it is not possible to log messages, which
341         contains line separators. So the LogFormatter normalizes all white
342         space in the following way:
343            <ul>
344               <li>The blank char ???\u0020??? is left untouched.</li>
345               <li>All other white space characters are compressed to
346               one blank char.</li>
347            </ul>
348         </p>
349      </section>
350
351      <section>
352         <title>Parameter Names</title>
353         <p>A parameter name must not include white space.</p>
354      </section>
355   </section>
356
357   <section>
358      <title>Log Formatter</title>
359
360      <section>
361         <title>Overview</title>
362
363         <p>The <classname>LogFormatter</classname> can logically be divided
364         into three main layers. The <classname>LogFormatter</classname> class
365         itself acts as line composer, that is it takes the information from a
366         <classname>LogRecord</classname> and decomposes it into several line
367         types. For each type of line it uses a specialized line formatter,
368         which just creates one or several lines of the corresponding lines. So
369         for example the formatter for line type ???N??? creates one line for each
370         supplied nested element, the formatter for line type ???S??? formats the
371         stack trace of one element in one go, produces therefore several lines.
372         A line formatter itself uses field formatters for creating a log line.
373         Both the line and field formatters could be used as parsers as well
374         capable of parsing just the information they have been formatted.</p>
375     </section>
376
377      <section>
378         <title>Implementation View</title>
379
380         <p>This section provides a view on the most important classes
381         participating in the functionality of the LogFormatter. There is the
382         LogFormatter itself, a class within the package
383         <classname>org.jcoderz.commons</classname>. It uses classes within the
384         package <classname>org.jcoderz.commons.logging</classname>, namely
385         implementations of
386         <classname>org.jcoderz.commons.logging.LogLineFormat</classname>. Each
387         such implementation uses implementations of
388         <classname>java.text.Format</classname> as formatter for a field of the
389         log line.</p>
390
391
392         <diagram type="class" name="logformat">
393            <class name="org.jcoderz.commons.LogFormatter"/>
394            <class name="org.jcoderz.commons.logging.LogLineFormat"/>
395            <description>
396            Class diagram of the LogFormatter and LogLineFormatter.
397            </description>
398         </diagram>
399
400         <diagram type="class" name="loglineformatter1">
401            <class name="org.jcoderz.commons.logging.LogLineFormat"/>
402            <class name="org.jcoderz.commons.logging.BasicLogLineFormat"/>
403            <class name="org.jcoderz.commons.logging.MessageLineFormat"/>
404            <class name="org.jcoderz.commons.logging.ErrorLineFormat"/>
405            <class name="org.jcoderz.commons.logging.TraceLineFormat"/>
406            <class name="org.jcoderz.commons.logging.ExceptionLineFormat"/>
407            <description>
408            Class diagram of the different log line formatters (part 1).
409            </description>
410         </diagram>
411
412         <diagram type="class" name="loglineformatter2">
413            <class name="org.jcoderz.commons.logging.LogLineFormat"/>
414            <class name="org.jcoderz.commons.logging.ContinuationLineFormat"/>
415            <class name="org.jcoderz.commons.logging.NestedLineFormat"/>
416            <class name="org.jcoderz.commons.logging.ParameterLineFormat"/>
417            <description>
418            Class diagram of the different log line formatters (part 2).
419            </description>
420         </diagram>
421
422         <diagram type="class" name="logfieldformatter1">
423            <class name="org.jcoderz.commons.logging.AsItIsFormat"/>
424            <class name="org.jcoderz.commons.logging.CollectionFormat"/>
425            <class name="org.jcoderz.commons.logging.FixLengthFormat"/>
426            <description>
427            Class diagram of the different log field formatters (part 1).
428            </description>
429         </diagram>
430
431         <diagram type="class" name="logfieldformatter2">
432            <class name="org.jcoderz.commons.logging.StringEscapeFormat"/>
433            <class name="org.jcoderz.commons.logging.TimestampFormat"/>
434            <class name="org.jcoderz.commons.logging.WhitespaceFormat"/>
435            <description>
436            Class diagram of the different log field formatters (part 2).
437            </description>
438         </diagram>
439      </section>
440
441      <section>
442         <title>Deployment View</title>
443
444         <p>This Deployment View shows the requirements for using the FawkeZ
445         LogFormatter.</p>
446
447         <section>
448            <title>Classpath</title>
449
450            <p>All the classes required for using the LogFormatter are bundled
451            in a single jar file named common-logging.jar. This jar file must be
452            included in the classpath of any Java application using the
453            LogFormatter. In the case of a J2EE application the jar file must be
454            on the classpath of the J2EE server application.</p>
455         </section>
456
457         <section>
458            <title>Enabling the LogFormatter</title>
459
460            <p>The Java Logging API is configured with means of a properties
461            file or a configuration class. In this section only the properties
462            file is considered. For more information see the API documentation
463            of <classname>java.util.logging.LogManager</classname> and other
464            classes within the same package. A Formatter is set for an
465            implementation of a Handler, which publishes LogRecords. So it is
466            specific to the handler how it is configured to use a certain
467            Formatter. The following is an example how it is set for the
468            FileHandler within the logging properties file.
469
470            <pre>
471java.util.logging.FileHandler.formatter = org.jcoderz.commons.LogFormatter</pre>
472            </p>
473
474         </section>
475      </section>
476
477      <section>
478         <title>API Documentation</title>
479
480            <apidoc name="logformatterapi">
481               <class name="org.jcoderz.commons.LogFormatter"/>
482               <class name="org.jcoderz.commons.logging.LogLineFormat"/>
483            </apidoc>
484      </section>
485   </section>
486
487   <section>
488      <title>LogViewer</title>
489
490      <p>
491      </p>
492
493      <refentry id="LogViewer">
494         <refmeta>
495            <refentrytitle>LogViewer</refentrytitle>
496            <manvolnum>1</manvolnum>
497         </refmeta>
498
499         <refnamediv>
500            <refname>LogViewer</refname>
501            <refpurpose>tool for viewing existing log files</refpurpose>
502         </refnamediv>
503
504         <refsynopsisdiv>
505            <cmdsynopsis>
506            <command>LogViewer</command>
507            <arg choice='opt' rep='repeat'>OPTIONS</arg>
508            </cmdsynopsis>
509
510         <refsect1>
511         <title>Description</title>
512         <para>The LogViewer is a stand-alone Java application in
513         the package <classname>org.jcoderz.commons.logging</classname>.
514         All required internal classes are include within the fawkez.jar file.
515         </para>
516
517         <para>
518         The LogViewer uses external classes for parsing command lines
519         options and for object pooling.
520         The required packages are the following:
521         <itemizedlist>
522            <listitem>
523               <para>org.apache.commons.cli, which is supplied by a
524               <classname>commons-cli-nn.jar</classname> file with <token>nn</token>
525               denoting the version (currently 1.0).</para>
526            </listitem>
527            <listitem>
528               <para>org.apache.commons.pool, which is supplied by a
529               <classname>commons-pool-nn.jar</classname> file with <token>nn</token>
530               denoting the version (currently 1.2).
531               </para>
532            </listitem>
533         </itemizedlist>
534
535         If the log viewer is used for converting a log file into an xml file, then jaxb runtime classes a required additionally.
536         </para>
537
538         <p>The following commandline demonstrates how the LogViewer can
539         be started in a shell (bash). The Java Virtual Machine
540         (<classname>java</classname>) must be on the <classname>PATH</classname>.
541
542         <pre>
543$ java -classpath fawwkez.jar:commons-cli-1.0.jar:commons-pool-1.2.jar \
544   org.jcoderz.commons.logging.LogViewer \
545   --standard \
546   --logDir /path/to/log \
547   --logFile application.log0
548         </pre>
549         </p>
550
551         </refsect1>
552
553         <refsect1>
554            <title>Options</title>
555
556            <!-- date -->
557            <variablelist>
558               <varlistentry>
559                  <term><option>-d</option></term>
560                  <term><option>--date </option>
561                     <parameter class='command'>{[dateFrom], [dateTo]}</parameter>
562                  </term>
563                  <listitem>
564                     <para>display date and search for given date/timestamp range.
565                     The following date formats are supported:
566                     <token>&lt;<varname>yyyy-MM-dd</varname>
567                     | <varname>yyyy-MM-dd'T'HH:mm:ss'Z'</varname>
568                     | <varname>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</varname>&gt;.
569                     </token>
570                   One of both dates may be omitted.</para>
571                  </listitem>
572               </varlistentry>
573            </variablelist>
574
575            <!-- standard -->
576            <variablelist>
577               <varlistentry>
578                  <term><option>-s</option></term>
579                  <term><option>--standard</option>
580                  </term>
581                  <listitem>
582                     <para>set standard mode, same as <option>-t</option>
583                     <option>-i</option>
584                     <option>-c</option>
585                     <option>-L</option>
586                     <option>-stack 1</option></para>
587                  </listitem>
588               </varlistentry>
589            </variablelist>
590
591            <!-- logDir -->
592            <variablelist>
593               <varlistentry>
594                  <term><option>-D</option></term>
595                  <term><option>--logDir</option>
596                     <parameter class='command'>{PATH}</parameter>
597                  </term>
598                  <listitem>
599                     <para>find log files within <filename>PATH</filename>
600                     instead of <filename>./log</filename></para>
601                  </listitem>
602               </varlistentry>
603            </variablelist>
604
605            <!-- logFile -->
606            <variablelist>
607               <varlistentry>
608                  <term><option>-F</option></term>
609                  <term><option>--logFile</option>
610                     <parameter class='command'>{FILE}</parameter>
611                  </term>
612                  <listitem>
613                     <para>open file <filename>FILE</filename> instead
614                     of <filename>log.out</filename>.</para>
615                  </listitem>
616               </varlistentry>
617            </variablelist>
618
619            <!-- level -->
620            <variablelist>
621               <varlistentry>
622                  <term><option>-L</option></term>
623                  <term><option>--level</option>
624                     <parameter><arg choice="req" rep="repeat">LEVEL</arg></parameter>
625                  </term>
626                  <listitem>
627                     <para>display log level and filter for given levels</para>
628                  </listitem>
629               </varlistentry>
630            </variablelist>
631
632            <!-- thread -->
633            <variablelist>
634               <varlistentry>
635                  <term><option>-T</option></term>
636                  <term><option>--thread</option>
637                     <parameter><arg choice="req" rep="repeat">THREAD_ID</arg></parameter>
638                  </term>
639                  <listitem>
640                     <para>display thread id and filter for given thread ids</para>
641                  </listitem>
642               </varlistentry>
643            </variablelist>
644
645            <!-- batch -->
646            <variablelist>
647               <varlistentry>
648                  <term><option>-b</option></term>
649                  <term><option>--batch </option></term>
650                  <listitem>
651                     <para>batch mode, terminate if the end of the log
652                     file is reached.</para>
653                  </listitem>
654               </varlistentry>
655            </variablelist>
656
657            <!-- category -->
658            <variablelist>
659               <varlistentry>
660                  <term><option>-c</option></term>
661                  <term><option>--cat</option>
662                     <parameter><arg choice="req" rep="repeat">CATEGORY</arg></parameter>
663                  </term>
664                  <listitem>
665                     <para>display category and filter for given categories</para>
666                  </listitem>
667               </varlistentry>
668            </variablelist>
669
670            <!-- impact -->
671            <variablelist>
672               <varlistentry>
673                  <term><option>-i</option></term>
674                  <term><option>--impact</option>
675                     <parameter><arg choice="req" rep="repeat">IMPACT</arg></parameter>
676                  </term>
677                  <listitem>
678                     <para>display business impact and filter for
679                     given business impact ids</para>
680                  </listitem>
681               </varlistentry>
682            </variablelist>
683
684            <!-- outFile -->
685            <variablelist>
686               <varlistentry>
687                  <term><option>-o</option></term>
688                  <term><option>--outFile</option>
689                     <parameter class='command'>{FILE}</parameter>
690                  </term>
691                  <listitem>
692                     <para>send output to <filename>FILE</filename> instead of
693                     <filename>stdout</filename></para>
694                  </listitem>
695               </varlistentry>
696            </variablelist>
697
698            <!-- stack -->
699            <variablelist>
700               <varlistentry>
701                  <term><option>-stack</option>
702                     <parameter>{0|1|2}</parameter>
703                  </term>
704                  <listitem>
705                     <para>display stack trace details;
706                     <literal>0</literal>: no stacktrace;
707                     <literal>1</literal>: only for exceptions (default)</para>
708                  </listitem>
709               </varlistentry>
710            </variablelist>
711
712            <!-- timestamp -->
713            <variablelist>
714               <varlistentry>
715                  <term><option>-t</option></term>
716                  <term><option>--timestamp</option></term>
717                  <listitem>
718                     <para>display timestamp</para>
719                  </listitem>
720               </varlistentry>
721            </variablelist>
722
723            <!-- xml -->
724            <variablelist>
725               <varlistentry>
726                  <term><option>-xml</option></term>
727                  <listitem>
728                     <para>output in XML format instead of text</para>
729                  </listitem>
730               </varlistentry>
731            </variablelist>
732         </refsect1>
733         </refsynopsisdiv>
734      </refentry>
735   </section>
736
737</section>
738
739</body>
Note: See TracBrowser for help on using the browser.