Skip to content
Python log sanitizer
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
examples
python_log_sanitizer
test
.coveragerc
.flake8
.gitignore
LICENSE
Makefile
Pipfile
Pipfile.lock
README.md
pytest.ini
setup.py

README.md

python_log_sanitizer

CircleCI PyPI version Maintainability Test Coverage

Python log sanitizer

Instalation

Pipenv

    pipenv install python_log_sanitizer 

Pip

    pip install python_log_sanitizer 

Usage

To run this example please install python-json-logger:

pip install python-json-logger
LOG_CONFIG = {
    "version": 1,
    "formatters": {
        "json": {
            "class": "pythonjsonlogger.jsonlogger.JsonFormatter",
            "format": "[%(asctime)s] %(levelname)s in %(module)s: %(message)s"
        }
    },
    "filters": {
        "sanitizer": {
            "()" : "python_log_sanitizer.SanitizerFilter",
            "patterns": ["extra"],
            "placeholder": "*"
        }
    },
    "handlers": {
        "json": {
            "class": "logging.StreamHandler",
            "formatter": "json"
        }
    },
    "loggers": {
        "root": {
            "level": "INFO",
            "handlers": ["json"],
            "filters": ["sanitizer"]
        }
    }
}
import logging

from logging import config

config.dictConfig(LOG_CONFIG) # load log config from dict

logger = logging.getLogger("root") # get root logger instance


logger.info("farofa", extra={"extra": "farofa"}) # log message with extra arguments  

Example output:

{"asctime": "2018-11-04 23:01:55,804", "levelname": "INFO", "module": "<ipython-input-8-f8c68848bfbe>", "message": "farofa", "extra": "*"}
You can’t perform that action at this time.