NEWSLOG(5)

NAME
newslog - Description of INN log files

DESCRIPTION
Most log files created by Usenet programs reside in the pathlog directory set in inn.conf and have a ".log" extension. Several versions are usually kept with an additional extension such as .1, .2, etc. -- the higher the number, the older the log. These old versions are stored in pathlog/OLD; they may be compressed and thus may have a ".1.gz", ".2.gz", etc. extension, up to ".nn.gz" where "nn" is the number of old logs kept by scanlogs which is set by logcycles in inn.conf.

The scanlogs script and related utilities are responsible for rotating and compressing these files. Some log files always have data (like news.notice), others only have data if there is a problem (like news.err), and others are only created if a particular program is used (like send-uucp.log used by send-uucp) or if a configuration parameter is set (like innfeed.log used by innfeed when debug-level is set in innfeed.conf).

Besides, the innstat script monitors the size of all log files.

Here are the log files used by INN:

control.log
    This file maintains a count of the number of newgroup and rmgroup control messages seen for each newsgroup. The count is of the number of control messages with the indicated arguments, regardless if they were actually processed. All control arguments, including invalid ones, are counted. An example of lines which can be found in that log file is:

        3 Control: newgroup foo.bar moderated
        3 Control: rmgroup misc.removed
        1 Control: newgroup misc.created

    This file is updated by tally.control, which is invoked by scanlogs if either one of these two log files exists in pathlog:

        newgroup.log
        rmgroup.log

    These two log files contain a summary line describing the control message and the action taken by controlchan, followed by the article indented by four spaces, and a blank line. Whereas these files are rotated, control.log is not rotated so as to keep the count of seen control messages.

    Note that other control log files are also rotated by scanlogs, if they exist, but their contents are not summarized. Here are their names:

        checkgroups.log
        default.log
        ihave.log
        miscctl.log
        sendme.log
        sendsys.log
        senduuname.log
        version.log

    In order to create these files, the <type> and <action> fields of relevant control.ctl entries should be correctly set. For instance:

        Type            Action              Meaning
        ----            ------              -------
        all             log=miscctl         Log all messages by default.
        newgroup        doit=newgroup       Create group and log message.
        newgroup        log=newgroup        Log message.
        rmgroup         verify-*=rmgroup    PGP verify, remove group
                                            and log message.
        checkgroups     doit=checkgroups    Process and log message.

controlbatch.log
    The controlbatch program appends all status messages to this file. It is rotated by scanlogs.

errlog
    This file contains the standard output and standard error of any program spawned by innd, such as channel feeds configured in newsfeeds. This file should normally be empty. scanlogs will print the 50 first lines of this log file if it is non-empty so that they appear in daily Usenet reports generated by news.daily. Then, scanlogs rotates this log file.

expire.log
    By default, when news.daily is going to expire old news articles, it writes the name of the program it invokes, followed by "start" and the time it has started. Any output from that program is then written, indented by four spaces. Then, the name of the program is written, followed by "end" and the time it has ended.

    Programs called, if needed, are in order: expireover, ctlinnd (with the "lowmark" option), expirerm and expire. Removed articles are listed in expire.list and low marks for each newsgroup (that is to say the number of the oldest article available in the newsgroup) in expire.lastlowmark.

    After the expiry process, scanlogs rotates expire.log.

innfeed.log
    When debug-level is set in innfeed.conf, innfeed appends debugging messages to this file. Note that the name of this file can be changed with the log-file parameter in innfeed.conf. Be that as it may, the right log file is rotated by scanlogs.

    Additionally, the innfeed-delayed.conf file is also looked at, to find another possible log file to rotate when delayer(1) is used with innfeed.

    innfeed also logs its status in innfeed.status (or the name set in status-file) if gen-html is set to false but this log file is not processed by scanlogs.

news
    This file logs articles received by innd. Typical lines are:

        Aug 25 13:37:41.839 + news.server.fr <cancel.4066@foo.com>
            1658 a.peer other.server.org inpaths!
        Aug 25 13:37:41.839 c news.server.fr <cancel.4066@foo.com>
            Cancelling <m070725@foo.com>
        Aug 25 13:37:54.638 - a.peer <23k82@bar.net> 437 Poison newsgroup

    The first one indicates that an article from "news.server.fr" has been accepted ("+"). Its Message-ID is "<cancel.4066@foo.com>" and we will send the article to two peers ("a.peer" and "other.server.org", as specified in newsfeeds) and "inpaths!" (see ninpaths for more details about it). The second line mentions that this previous article is a cancel message ("c") for "<m070725@foo.com>" and that it has been processed (indeed, controlchan processes all control articles except for cancels which are handled by innd). The third line indicates that the article whose Message-ID is "<23k82@bar.net>" has been rejected ("-") because it is posted to a poison newsgroup (a Perl or a Python filter located in pathfilter must have brought that reject along).

    See the "LOGGING" section of the innd(8) man page for more information about the format of this log file.

    innreport summarizes the rejected articles reported in this file and scanlogs rotates it.

news.crit
    All critical error messages issued by innd are appended to this file via syslog. This log file should normally be empty. scanlogs will print the first 50 lines of this log file if it is non-empty so that they appear in daily Usenet reports generated by news.daily. Then, scanlogs rotates this log file.

    You should have the following line in your system syslog.conf file, using a tab character for the delimiter:

        news.crit           <pathlog>/news.crit

    (A typical entry is shown; it should agree with pathlog in inn.conf and be tab-delimited.)

news.err
    All major error messages issued by innd are appended to this file via syslog. This log file should normally be empty. scanlogs will print the first 50 lines of this log file if it is non-empty so that they appear in daily Usenet reports generated by news.daily. Then, scanlogs rotates this log file.

    You should have the following line in your system syslog.conf file, using a tab character for the delimiter:

        news.err            <pathlog>/news.err

    (A typical entry is shown; it should agree with pathlog in inn.conf and be tab-delimited.)

news.notice
    All standard error messages and status messages issued by innd, innfeed, nnrpd and some other programs are appended to this file via syslog. scanlogs uses the Perl script innreport to summarize this file. innreport will also print the first max_unknown unknown lines of this log file if such unrecognized lines are found in news.notice so that they appear in daily Usenet reports generated by news.daily. This parameter can be set in innreport.conf. Then, scanlogs rotates this log file.

    You should have the following line in your system syslog.conf file, using a tab character for the delimiter:

        news.notice         -<pathlog>/news.notice

    (A typical entry is shown; it should agree with pathlog in inn.conf and be tab-delimited.)

    The minus sign as the first character for the path to news.notice instructs syslogd not to synchronize the log file to disk every time there is a new log entry (it otherwise degrades performance). Depending on the syslog daemon you are using, log synchronization may already be disabled by default (that is for instance the case for rsyslogd or syslog-ng).

nntpsend.log
    The nntpsend program appends all status messages to this file. It is rotated by scanlogs.

perl-nocem.log
    The perl-nocem program appends all status messages to this file if the syslog facility is not available or the -l flag is passed to perl-nocem (otherwise, the syslog facility is used in which case status messages are appended to a file usually named news.notice in pathlog). The perl-nocem.log file is processed by innreport and rotated by scanlogs.

send-ihave.log
    The send-ihave program appends all status messages to this file. It is rotated by scanlogs.

send-uucp.log
    The send-uucp program appends all status messages to this file. It is rotated by scanlogs.

unwanted.log
    This log maintains a count of the number of articles that were rejected because they were posted to newsgroups that do not exist at the local site. This file is updated by innreport while processing the news.notice log file and it is maintained in reverse numeric order (the most popular rejected group first). This file is not rotated so as to keep the count of the articles posted to newsgroups which are absent from the active file of the news server.

    Note that logtrash has to be set to true in inn.conf for this file to be generated.

Finally, these files are also rotated by scanlogs, if they exist, but their contents are not summarized. Here are their names:

    badcontrol.log
    badpgp.log
    failedpgp.log

They can be used by programs which PGP verify articles.

HISTORY
Written by Landon Curt Noll <chongo@toad.com> and Rich $alz <rsalz@uunet.uu.net> for InterNetNews. Rewritten and converted to POD by Julien Elie.

SEE ALSO
control.ctl(5), ctlinnd(8), expire(8), expireover(8), expirerm(8), inn.conf(5), innd(8), innfeed.conf(5), innreport(8), innreport.conf(5), news.daily(8), nnrpd(8), nntpsend(8), scanlogs(8), send-ihave(8), send-uucp(8), syslog.conf(5), tally.control(8).