Changes between Version 5 and Version 6 of LoggingRequirements


Ignore:
Timestamp:
Dec 12, 2010, 10:05:50 AM (7 years ago)
Author:
stephen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LoggingRequirements

    v5 v6  
    55
    66== Logging Sources ==
    7  * Each message should be associated with a source.  This may be a program component (e.g. "authoritative server", "recursive server")  or sub-component (e.g. "DNS Library").  Alternatively it may be cross-component (e.g. "Query trace")
     7 * Each message should be associated with up to two sources:
     8   * One source should be the name of the component (e.g. "DNS library")
     9   * One source should be the program in which the component is running (e.g. "recursive server")
     10   * The sources should be hierarchical: a change affecting the program source applies to all contained components unless overridden at the component level.
     11
     12(Note that this means that a component can appear under several guises, e.g. the DNS library is a component in its own right, but may appear in both the authoritative server an recursive server.)
     13
    814 * It should be possible to enable or disable logging messages by source; by default all sources should be enabled.
    9  * It should be possible to enable or disable the logging from a query sources via the command interface.
     15 * It should be possible to enable or disable the logging from a query source via configuration options.
    1016
    1117== Logging Severities ==
     
    1622   * INFORMATION: an event of note has occurred, e.g. the server has started.
    1723   * DEBUG: a message only of use to developers.
    18  * It must be possible to set a filter such that only messages of a given severity and above are output (where DEBUG < INFO < WARNING < ERROR < CRITICAL).
    19  * Setting of the severity filter should be possible be via the command interface.
     24 * It must be possible to set a filter on a source such that only messages of a given severity and above are output (where DEBUG < INFO < WARNING < ERROR < CRITICAL).
     25 * It should be possible to set a filter on a program/component combination (e.g. the DNS library only outputs critical messages except when running in the authoritative server where it output debug messages.)
     26 * Setting of the severity filter should be possible be via a configuration option.
     27
    2028
    2129== Debug Levels ==
     
    3038   * syslog
    3139   * user-specified file
    32      * It should be possible to specify a maximum size for the file after which the logging stops or the file is rotated
     40     * It should be possible to specify a maximum size for the file after which the logging stops or the file is rotated.  (The operation should happen before the set file size is exceeded, not after.)
    3341     * If the rotation option is specified, it should be possible to specify the number of versions of a file retained.
    3442     * It should be possible to request a file rotation at any time.
     43     * It should be possible to schedule regular file rotations.
     44     * It should be possible to set a pattern for the name of rotated files (e.g. /var/log/bind10/bind10-%Y%m%d.log)
    3545   * named socket
     46 * For each destination, it should be possible to set up a secondary output destination:
     47   * If a write to the primary destination fails, output should be sent to the secondary destination.
     48   * Where the primary destination is a user-specified file, the following should apply:
     49     * Is the failure is due to a disk full error, the system must attempt to repeat the output of the message for a configurable number of times with a configurable delay between (default: one repeat after a pause of one second) before routing to the secondary destination.
     50     * Messages arriving in the meantime should be buffered; if any are lost because of buffer overflow, a note should be made and a message generated and written to the log when it is possible to do so.
     51   * It should be configurable as to whether in the case of an error output is:
     52     * Permanently re-routed to the secondary destination.
     53     * Re-routed for a specified period of time before the primary is re-tried
    3654 * It should be possible to send a message to more than one destination.
     55 * A single destination should be able to receive messages from more than one source.
    3756 * It should be possible to set logging destinations via the command interface.
    3857 * During program start-up, messages should be routed to stderr until the logging is initialized.
     
    4564 * Every log message should have a unique identification which should be included in the message output
    4665 * It should be possible to (easily) change the language of messages
     66
     67== Notes ==
     68=== Debug Levels ===
     69''To be supplied: guidance on use of debug levels''