コード例 #1
0
def init_app(app, remove_existing_handlers=False):
    # Create the filter and add it to the base application logger
    context_provider = ContextualFilter()
    app.logger.addFilter(context_provider)

    # Optionally, remove Flask's default debug handler
    if remove_existing_handlers:
        del app.logger.handlers[:]

    # Create a new handler for log messages
    # that will send them to standard error
    handler = StreamHandler()

    # Add a formatter that makes use of our new contextual information
    log_format = ("%(asctime)s\t%(levelname)s\t%(user_id)s\t"
                  "%(ip)s\t%(method)s\t%(url)s\t%(message)s")
    formatter = Formatter(log_format)
    handler.setFormatter(formatter)

    # Finally, attach the handler to our logger
    app.logger.addHandler(handler)

    # Only set up a file handler if we know where to put the logs
    if app.config.get("ERROR_LOG_PATH"):

        # Create one file for each day. Delete logs over 7 days old.
        file_handler = TimedRotatingFileHandler(app.config["ERROR_LOG_PATH"],
                                                when="D",
                                                backupCount=7)

        # Use a multi-line format for this logger, for easier scanning
        file_formatter = Formatter("""
        Time: %(asctime)s
        Level: %(levelname)s
        Method: %(method)s
        Path: %(url)s
        IP: %(ip)s
        User ID: %(user_id)s

        Message: %(message)s

        ---------------------""")

        # Filter out all log messages that are lower than Error.
        file_handler.setLevel(ERROR)

        file_handler.addFormatter(file_formatter)
        app.logger.addHandler(file_handler)
コード例 #2
0
ファイル: logs.py プロジェクト: sfpiano/streams
def init_app(app, remove_existing_handlers=False):
  # Create the filter and add it to the base application logger
  context_provider = ContextualFilter()
  app.logger.addFilter(context_provider)

  # Optionally, remove Flask's default debug handler
  if remove_existing_handlers:
    del app.logger.handlers[:]

  # Create a new handler for log messages
  # that will send them to standard error
  handler = StreamHandler()

  # Add a formatter that makes use of our new contextual information
  log_format = ("%(asctime)s\t%(levelname)s\t%(user_id)s\t"
                "%(ip)s\t%(method)s\t%(url)s\t%(message)s")
  formatter = Formatter(log_format)
  handler.setFormatter(formatter)

  # Finally, attach the handler to our logger
  app.logger.addHandler(handler)

  # Only set up a file handler if we know where to put the logs
  if app.config.get("ERROR_LOG_PATH"):
    # Create one file for each day. Delete logs over 7 days old.
    file_handler = TimedRotatingFileHandler(app.config["ERROR_LOG_PATH"],
                                            when="D", backupCount=7)

    # Use a multi-line format for this logger, for easier scanning
    file_formatter = Formatter("""
    Time: %(asctime)s
    Level: %(levelname)s
    Method: %(method)s
    Path: %(url)s
    IP: %(ip)s
    User ID: %(user_id)s

    Message: %(message)s

    ---------------------""")

    # Filter out all log messages that are lower than Error.
    file_handler.setLevel(ERROR)

    file_handler.addFormatter(file_formatter)
    app.logger.addHandler(file_handler)
コード例 #3
0
ファイル: __init__.py プロジェクト: configuresystems/olympus
from logging import ERROR
from logging.handlers import TimedRotatingFileHandler

# Only set up a file handler if we know where to put the logs
if app.config.get("ERROR_LOG_PATH"):

    # Create one file for each day. Delete logs over 7 days old.
    file_handler = TimedRotatingFileHandler(
            app.config["ERROR_LOG_PATH"],
            when="D",
            backupCount=7
            )

    # Use a multi-line format for this logger, for easier scanning
    file_formatter = logging.Formatter('''
    Time: %(asctime)s
    Level: %(levelname)s
    Method: %(method)s
    Path: %(url)s
    IP: %(ip)s
    User ID: %(user_id)s
    Message: %(message)s
    ---------------------''')

    # Filter out all log messages that are lower than Error.
    file_handler.setLevel(ERROR)

    file_handler.addFormatter(file_formatter)
    app.logger.addHandler(file_handler)