# Specify loggers, handlers and formatter names [loggers] keys=root,logFile [handlers] keys=handStdout,handLogFile,handSysLog,handStderr [formatters] keys=form01 # The root logger must specify a level and a list of handlers. An example of a root logger section is given below. [logger_root] level=NOTSET handlers=handStdout,handStderr,handSysLog,handLogFile [logger_logFile] handlers=handLogFile qualname=Security.Log # Handlers [handler_handStderr] class=StreamHandler level=WARNING formatter=form01 args=(sys.stderr,) [handler_handStdout] class=StreamHandler level=NOTSET formatter=form01 args=(sys.stdout,) # Use rotating file handler for log file to avoid filling the disk [handler_handLogFile] class=handlers.RotatingFileHandler level=NOTSET formatter=form01 args=(os.path.join(os.environ['NDGSEC_DIR'], 'log', 'att-authority.log'), 'a', 100000, 10) # System logging [handler_handSysLog] class=handlers.SysLogHandler level=ERROR formatter=form01 args=(('localhost', handlers.SYSLOG_UDP_PORT), handlers.SysLogHandler.LOG_USER) # Formatter configuration [formatter_form01] format=%(asctime)s %(name)s: %(levelname)-7s %(message)s datefmt=%d %b %Y %H:%M:%S class=logging.Formatter