#
# Logging configuration section
#
# This is not entirely unlike a standard Python logging
# configuration file.
#
# Note that the variable 'prog' must be defined by
# the includee.
#

[logging]
# List of the logging.Logger instances to create. 

[[loggers]]
# The NetLogger logger, which in this case is
# used for all the logging since all the NetLogger
# modules prefix their logger's name with "netlogger.".
[[[netlogger]]]
# Log all messages at severity DEBUG or higher.
# The only "lower" level with a symbolic name is TRACE
level=DEBUG
# Use the following list (in this case, one) handlers
# to output the log message.
handlers=h1
# Just like the standard Python logging
# configuration, 'qualname' is the name used to
# match the logger to the API call:
#   logging.getLogger("netlogger.nl_loader.foo")
# The first logger that has a qualname value
# equal to a prefix of this name (split on the '.') will 
# be returned. Note that this is not exactly the
# same as saying the most-specific logger that
# matches will be returned; to simulate this you
# must list your loggers from most specific to least
# specific in this file.
qualname=netlogger.${prog}
# Do not log this message in less-specific
# loggers in the tree (in this case, the root logger).
propagate=0
# List of handler instances, which of course must
# match the handlers declared in the logger sections.

[[handlers]]
# A handler
[[[h1]]]
# For NetLogger logging, the standard Python logging
# handlers are automatically wrapped so that 
# NetLogger Best-Practices messages are output
# for the "%(message)s" value, which is the default
# string for the formatter.
class="FileHandler"
# The severity level of the handler acts as a
# filter on the messages coming from the logger. 
level=DEBUG
# Name of the output file, as for the standard
# logging.FileHandler class.
args="('$output_dir/${prog}.log', 'a')"
