diff --git a/app/log.py b/app/log.py index 08229ab..024b5f3 100644 --- a/app/log.py +++ b/app/log.py @@ -1,11 +1,55 @@ import functools, logging +logging.config.dictConfig({ + 'version': 1, + 'formatters': { + 'default': {'format': '[%(asctime)s] %(levelname)s @ %(module)s.%(funcName)s()#%(lineno)d: %(message)s'}, + 'long': {'format': '[%(asctime)s] %(levelname)s @ %(module)s.%(funcName)s()#%(lineno)d: %(message)s', 'datefmt': '%Y-%m-%d %H:%M:%S'}, + 'short': {'format': '[%(asctime)s] %(levelname)s @ %(module)s.%(funcName)s()#%(lineno)d: %(message)s', 'datefmt': '%H:%M:%S'}, + }, + #'filename': 'example.log', + #'level': logging.ERROR, + 'handlers': { + 'console': { + 'class': 'logging.StreamHandler', + 'formatter': 'short', + }, + 'log_file_all': { + 'level': 'NOTSET', + 'class': 'logging.handlers.RotatingFileHandler', + 'formatter': 'long', + 'filename': 'admin/log/app.log', + 'maxBytes': 5120000, # 5120000 = 5 MB + 'backupCount': 5 + }, + 'log_file_warning': { + 'level': 'WARNING', + 'class': 'logging.handlers.RotatingFileHandler', + 'formatter': 'long', + 'filename': 'admin/log/app_warning.log', + 'maxBytes': 512000, # 512000 = .512 MB + 'backupCount': 5 + }, + 'test_handler': { + 'class': 'logging.StreamHandler', + 'level': 'INFO', + 'formatter': 'short', + } + }, + 'root': { + 'handlers': ['console', 'log_file_all'], #, 'log_file_all', 'log_file_warning'], + 'level': 'WARNING', # WARNING + } +}) + + log = logging.getLogger('root') log.setLevel(logging.ERROR) # DEBUG > INFO > WARNING > ERROR > CRITICAL -logging.basicConfig( - format='[%(asctime)s] %(levelname)s @ %(module)s.%(funcName)s()#%(lineno)d: %(message)s' - ) +# logging.basicConfig( +# format='[%(asctime)s] %(levelname)s @ %(module)s.%(funcName)s()#%(lineno)d: %(message)s' +# ) + # ### BEGIN ### Log ### logger_reset() ### diff --git a/app/main.py b/app/main.py index d3296e7..020e8d5 100644 --- a/app/main.py +++ b/app/main.py @@ -1,4 +1,4 @@ -import datetime, json, logging, os, pytz, random, secrets # , uvicorn +import datetime, json, os, pytz, random, secrets # , uvicorn from enum import Enum #from datetime import datetime, time, timedelta