Skip to main content

version

Advanced Logging configuration for flask application based on yaml or json file. See logging.config

NOTE: If you want to use flask_logify.handlers.FlaskSysLogHandler you must init this extension with an app context.

The dump of request or response are made by builders, there are two concrete implementations:

  1. LogTextBuilder: message as plain text (configurable).

  2. LogJSONBuilder: message as json format.

You can create your own builder by extending class LogBuilder. In order to get the correct remote address you can override LogBuilder.get_remote_address method or you can inject a function in LogBuilder constructor.

See example usage in example/test.py.

FlaskLogging as a decorator attribute with which you can disable log messages for a specific route, passing a logging filter to it. For example you want disable log for health check endpoint. See example/text.py.

Quickstart

Install flask_logify using pip:

$ pip install Flask-Logify

Example usage

An example of log file configuration is under example folder.

Only yaml or json format are supported.

from flask import Flask
from flask_logify import FlaskLogging


app = Flask(__name__)
app.config['LOG_FILE_CONF'] = 'log.yaml'
app.config['LOG_LOGGER_NAME'] = 'flask-development'

logging = FlaskLogging()
with app.app_context():
    logging.init_app(app)

app.run()

Go to http://127.0.0.1:5000/ and see log messages like configured

Configuration

Base configuration keys:

  1. LOGGING: (default: None) dict logging configuration

  2. LOG_FILE_CONF: (default: None) absolute path of configuration file (has priority on LOGGING)

  3. LOG_APP_NAME: (default: flask) the ident of the record used by syslog

  4. LOG_LOGGER_NAME: (default: flask-development) usually is {LOG_APP_NAME}-{FLASK_ENV}

  5. REQUEST_ID_HEADER: (default: X-Request-ID) request id header key

  6. LOG_BUILDER: (default: text) log builder implementation (text, json)

Text and JSON builder configuration keys:

  1. LOG_REQ_HEADERS: (default: []) request headers to dump always

  2. LOG_RESP_HEADERS: (default: []) response headers to dump always

  3. LOG_REQ_SKIP_DUMP: (default: not DEBUG) if true dump of request body and headers are skipped

  4. LOG_RESP_SKIP_DUMP: (default: DEBUG) if true dump of response body and headers are skipped

Text builder only:

  1. LOG_RESP_FORMAT: (default: “OUTGOING RESPONSE for {address} at {path}: {level} STATUS {status}{headers}{body}”) log message format for response

  2. LOG_REQ_FORMAT: (default: “INCOMING REQUEST: {address} {method} {scheme} {path}{headers}{body}”) log message format for request

License MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-Logify-2.4.5.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Flask_Logify-2.4.5-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file Flask-Logify-2.4.5.tar.gz.

File metadata

  • Download URL: Flask-Logify-2.4.5.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for Flask-Logify-2.4.5.tar.gz
Algorithm Hash digest
SHA256 db098af6ef6ac78d9a24468d630fab8ac19c4d1e384031f9452bba8c0f650ecf
MD5 f3198dc11366150677474e821a0dc8fe
BLAKE2b-256 991696e889fd2d907f62d3e208c648f113c3c8448648cd1e05a50c1367b9a299

See more details on using hashes here.

File details

Details for the file Flask_Logify-2.4.5-py3-none-any.whl.

File metadata

  • Download URL: Flask_Logify-2.4.5-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for Flask_Logify-2.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c714125d8d45b6f3ce2944a4641086afd6528cd2bba8a035d9e14787d8f5bdff
MD5 32981928b47413f7d9927b364ba5b637
BLAKE2b-256 d74312ac34c471bd490a81549be5473e2a0a3475c5017480be358a0aeaff35f5

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.4.5 This release

2 files

2.4.4

1 file

2.4.3

1 file

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.0

1 file

2.2.3

1 file

2.2.2

1 file

2.2.1

1 file

2.2.0

1 file

2.1.0

1 file

2.0.1

1 file

2.0.0

1 file

1.2.1

1 file

1.2.0

1 file

1.1.2

1 file

1.1.1

1 file

1.1.0

2 files

1.0.1

2 files

1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page