0
0 Комментариев

Всем привет!

1) Python 3.6

2) Windows 10 и Ubuntu 18.04

3) Код ниже

4) logger

Помоги сформировать конфиг для python logger для всех хенделров. Не совсем разорбрался с конфиг файлом.

1) Формат логгирования для level = ERROR был

"format": "%(asctime)s - %(name)s - %(funcName)s - %(levelname)s - %(lineno)d - %(message)s"

для level = INFO

"format": "%(levelname)s - %(message)s"

2) Фильтрацию для level = DEBUG по ключевому слову. То есть не хочу чтобы выводились абсолютно все дебаги, а только те которые попадают под заданное в конфиг файле условие.

  "version": 1,

  "disable_existing_loggers": "False",

  "handlers": {
    "file": {
      "class": "logging.handlers.TimedRotatingFileHandler",
      "formatter": "simple",
      "filename": "logs/myfile.log",
      "when": "D",
      "interval": 1,
      "utc": "True",
      "backupCount": "14"
    },
    "console": {
      "class": "logging.StreamHandler",
      "formatter": "simple"
    },
    "telegram": {
      "class": "telegram_handler.TelegramHandler",
      "token": "myToken",
      "chat_id": "myChatId",
      "formatter": "telegram"
    }
  },
  "formatters": {
    "simple": {
      "format": "%(asctime)s - %(name)s - %(funcName)s - %(levelname)s - %(lineno)d - %(message)s"
    },
    "telegram": {
      "format": "%(levelname)s - %(message)s",
      "class": "telegram_handler.HtmlFormatter"
    }
  },

  "loggers": {
    "root": {
      "handlers": [ "file", "console", "telegram" ],
      "level": "CRITICAL"
    },

    "myModule": {
      "handlers": [ "file", "console", "telegram" ],
      "level": "INFO"
    }
  }

Добавить комментарий