python-json-logger
python-json-logger copied to clipboard
How to assign a value json_ensure_ascii=False?
I use conf file, but the value json_ensure_ascii is not assigned. Conf file:
[loggers]
keys=root
[handlers]
keys=fileHandler
[formatters]
keys=json
[logger_root]
level=INFO
handlers=fileHandler
[handler_fileHandler]
class=FileHandler
level=INFO
formatter=json
args=('%(logfilename)s',)
[formatter_json]
class=pythonjsonlogger.jsonlogger.JsonFormatter
format=%(asctime)s - %(levelname)s - %(module)s - %(funcName)s - %(message)s
datefmt=%Y-%m-%d %H:%M:%
json_ensure_ascii=False
Hi, did you find a solution to this problem?
Hi, did you find a solution to this problem?
Hi, not yet
Hi, did you find a solution to this problem?
one of the solutions, but it's a crutch: Structure:
app
| logging.ini
| test.py
| util
| __init__.py
| my_formatter.py
logging.ini
[loggers] keys=root[handlers] keys=fileHandler
[formatters] keys=json
[logger_root] level=INFO handlers=fileHandler
[handler_fileHandler] class=logging.handlers.TimedRotatingFileHandler level=INFO formatter=json args=('%(logfilename)s', 'D', 30, 1)
[formatter_json] class=util.my_formatter.CustomJsonFormatter format=%(message)s
my_formatter
from pythonjsonlogger.jsonlogger import JsonFormatter
class CustomJsonFormatter(JsonFormatter):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.json_ensure_ascii = False
test.py
import logging.config
logging.config.fileConfig(
'logging.ini',
defaults={'logfilename': 'text.txt'},
disable_existing_loggers=False,
)
logger = logging.getLogger(__name__)
if __name__ == '__main__':
a = 'My name Александр'
logger.error(a)
Thank you!