Python log sanitizer
pipenv install python_log_sanitizer
pip install python_log_sanitizer
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": "*"}