%global _empty_manifest_terminate_build 0 Name: python-Flask-Logify Version: 2.4.5 Release: 1 Summary: Logging configuration for flask application License: MIT URL: https://github.com/cs91chris/flask_logify Source0: https://mirrors.nju.edu.cn/pypi/web/packages/99/16/96e889fd2d907f62d3e208c648f113c3c8448648cd1e05a50c1367b9a299/Flask-Logify-2.4.5.tar.gz BuildArch: noarch Requires: python3-Flask Requires: python3-PyYAML %description |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 <./flask_logify/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 <./flask_logify/example/test.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 %package -n python3-Flask-Logify Summary: Logging configuration for flask application Provides: python-Flask-Logify BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-Flask-Logify |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 <./flask_logify/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 <./flask_logify/example/test.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 %package help Summary: Development documents and examples for Flask-Logify Provides: python3-Flask-Logify-doc %description help |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 <./flask_logify/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 <./flask_logify/example/test.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 %prep %autosetup -n Flask-Logify-2.4.5 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-Flask-Logify -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 31 2023 Python_Bot - 2.4.5-1 - Package Spec generated