python-json-logger icon indicating copy to clipboard operation
python-json-logger copied to clipboard

How to assign a value json_ensure_ascii=False?

Open KondratevAD opened this issue 3 years ago • 4 comments

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

KondratevAD avatar Feb 09 '22 11:02 KondratevAD

Hi, did you find a solution to this problem?

AlexandrovDaniil avatar Jun 02 '22 06:06 AlexandrovDaniil

Hi, did you find a solution to this problem?

Hi, not yet

KondratevAD avatar Jun 02 '22 07:06 KondratevAD

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)

KondratevAD avatar Jun 27 '22 14:06 KondratevAD

Thank you!

AlexandrovDaniil avatar Jun 28 '22 12:06 AlexandrovDaniil