# Configure the Python logging facility. # To use this file, copy it to logging.conf and edit logging.conf as required. # See http://docs.python.org/library/logging.html for details of the logging facility. # Note that this is not the newer logging.config facility. # # The default configuration is console-based (stdout) for backward compatibility; # edit the [handlers] section to choose a different logging destination. # # Note that file-based handlers are thread-safe but not mp-safe; # for mp-safe logging, configure the appropriate syslog handler. # # To create a configurable logger for application 'myapp', add myapp to # the [loggers] keys list and add a [logger_myapp] section, using # [logger_welcome] as a starting point. # # In your application, create your logger in your model or in a controller: # # import logging # logger = logging.getLogger("web2py.app.myapp") # logger.setLevel(logging.DEBUG) # # To log a message: # # logger.debug("You ought to know that %s", details) # # Note that a logging call will be governed by the most restrictive level # set by the setLevel call, the [logger_myapp] section, and the [handler_...] # section. For example, you will not see DEBUG messages unless all three are # set to DEBUG. # # Available levels: DEBUG INFO WARNING ERROR CRITICAL [loggers] keys=root,rocket,markdown,web2py,rewrite,cron,app,welcome [handlers] keys=consoleHandler,messageBoxHandler,rotatingFileHandler #keys=consoleHandler,rotatingFileHandler #keys=osxSysLogHandler #keys=notifySendHandler [formatters] keys=simpleFormatter [logger_root] level=WARNING handlers=consoleHandler,rotatingFileHandler [logger_web2py] level=WARNING handlers=consoleHandler,rotatingFileHandler qualname=web2py propagate=0 # URL rewrite logging (routes.py) # See also the logging parameter in routes.py # [logger_rewrite] level=WARNING qualname=web2py.rewrite handlers=consoleHandler,rotatingFileHandler propagate=0 [logger_cron] level=WARNING qualname=web2py.cron handlers=consoleHandler,rotatingFileHandler propagate=0 # generic app handler [logger_app] level=WARNING qualname=web2py.app handlers=consoleHandler,rotatingFileHandler propagate=0 # welcome app handler [logger_welcome] level=WARNING qualname=web2py.app.welcome handlers=consoleHandler,rotatingFileHandler propagate=0 # loggers for legacy getLogger calls: Rocket and markdown [logger_rocket] level=WARNING handlers=consoleHandler,messageBoxHandler,rotatingFileHandler qualname=Rocket propagate=0 [logger_markdown] level=WARNING handlers=consoleHandler,rotatingFileHandler qualname=markdown propagate=0 [handler_consoleHandler] class=StreamHandler level=WARNING formatter=simpleFormatter args=(sys.stdout,) [handler_messageBoxHandler] class=gluon.messageboxhandler.MessageBoxHandler level=ERROR formatter=simpleFormatter args=() [handler_notifySendHandler] class=gluon.messageboxhandler.NotifySendHandler level=ERROR formatter=simpleFormatter args=() # Rotating file handler # mkdir logs in the web2py base directory if not already present # args: (filename[, mode[, maxBytes[, backupCount[, encoding[, delay]]]]]) # [handler_rotatingFileHandler] class=handlers.RotatingFileHandler level=DEBUG formatter=simpleFormatter args=("web2py.log", "a", 1000000, 5) [handler_osxSysLogHandler] class=handlers.SysLogHandler level=WARNING formatter=simpleFormatter args=("/var/run/syslog", handlers.SysLogHandler.LOG_DAEMON) [handler_linuxSysLogHandler] class=handlers.SysLogHandler level=WARNING formatter=simpleFormatter args=("/dev/log", handlers.SysLogHandler.LOG_DAEMON) [handler_remoteSysLogHandler] class=handlers.SysLogHandler level=WARNING formatter=simpleFormatter args=(('sysloghost.domain.com', handlers.SYSLOG_UDP_PORT), handlers.SysLogHandler.LOG_DAEMON) [formatter_simpleFormatter] format=%(asctime)s - %(name)s - %(levelname)s - %(message)s datefmt=