Skip to main content

Python module custom logging

Project description

Назначение

Это обычный logging, но с более широкими настройками

Применение

from dsutp_custom_logger import Logging
log = Logging().get_logger()
log.info('Test my logs')

Описание параметров класса Logging

  1. log_file_enabled - запись логов в файл. Принимает булево значение True/False. Default = True
  2. log_console_enabled - запись логов в консоль. Принимает булево значение True/False. Default = True
  3. log_httpsink_enabled - отправка логов в удаленный http. Принимает булево значение True/False. Default = False
  4. log_httpsink_url - http ссылка до удаленого лог приемника. Принимает строковое значение ссылки. Default = None
  5. log_level - уровень логгирования. Принимает строковое значение DEBUG/INFO/WARNINGS ... .Default = INFO
  6. log_buffer_size_file - размер файла в байтах. Принимает целочисленное значение. Default = 5 * 10**7 (50 Мб)
  7. backupCount - число файлов с историей. Принимает целочисленное значение. Default = 1
  8. stream - потоки. Принимает список кастомных потоков. Default = []
  9. log_location - место файлов для логов. Принимает строкове значение. Default = log.log
  10. base_json_fields - "системные" поля для логов. Принимает словарь. Default = None
  11. custon_json_fields - кастомные поля для логов. Принимает словарь. Default = None
  12. log_structured_datetimeformat - формат даты. Принимает строковое значение. Default = '%Y-%m-%d %H:%M:%S'

Подбробное описание

log_httpsink_enabled и log_httpsink_url

Если log_httpsink_enabled = True и указана log_httpsink_url ссылка, то в зависимости от выставленного порога log_level будет отправлять тело запроса с полями {'level': '', 'message': ''}.

stream

Вы можете определить свой stream. Для этого нужно:

from dsutp_custom_logger import Stream, Logging

class YourCustomStream(Stream):
    def write(self, msg: str) -> None:
        do_something

log = Logging(stream = [YourCustomStream()]).get_logger()

base_json_fields

Словарь с базовыми полям, ключи можно изменять, а ключи статичный. Данные поля заполняются системными данными.

{"level": "levelname", 
"message": "message", 
"loggerName": "name", 
"processName": "processName",
"processID": "process", 
"threadName": "threadName", 
"threadID": "thread",
"timestamp": "asctime",
"filename":"filename",
"module":"module",
"pathname":"pathname"}

custon_json_fields

Можно задать свои кастомные поля с уже заполнеными данными

{""RequestID":"123",
"Span":"344",
...}

Тесты

В папке tests находятся тесты с результатми

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dsutp_custom_logger-1.0.1.tar.gz (4.9 kB view details)

Uploaded Source

File details

Details for the file dsutp_custom_logger-1.0.1.tar.gz.

File metadata

  • Download URL: dsutp_custom_logger-1.0.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for dsutp_custom_logger-1.0.1.tar.gz
Algorithm Hash digest
SHA256 370f41aff571cb248db98f8fd27068853fdfcaa6234a6ed85624578a0308754d
MD5 f34930b25f735653d695263d5a3e76ca
BLAKE2b-256 96f6c219d811c1fc060d09eb84bfdcc9bc463534dacf166e24b113b15374b137

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page