Skip to main content

A module that extends the standard Python logging module.

Project description

LoggerManager

LoggerManager - это гибкая система управления логированием с поддержкой логирования в консоль и файл. Система позволяет настраивать уровни логирования, фильтры и формат вывода.


Установка

Установить можно с помощью pip:

pip install LoggerManager

Использование

from LoggerManager import LoggerManager

logger_manager = LoggerManager(name='MyLogger', log_to_file=True)
logger = logger_manager.logger

logger.debug("This is a debug message")
logger.info("This is an info message")
logger.warning("This is a warning message")

Документация методов

Методы:

  • set_name(name: str)

    • Изменяет имя логгера.
    • Пример использования:
      logger_manager.set_name('NewLoggerName')
      
  • set_filter(level: LogLevel)

    • Устанавливает фильтр для логирования на определённом уровне.
    • Пример использования:
      logger_manager.set_filter('ERROR')
      
  • set_filter_list(levels: Sequence[LogLevel])

    • Устанавливает список уровней фильтрации.
    • Пример использования:
      logger_manager.set_filter_list(['INFO', 'ERROR'])
      
  • clear_filter()

    • Очищает текущие фильтры логирования.
    • Пример использования:
      logger_manager.clear_filter()
      
  • enable_logging()

    • Включает логирование.
    • Пример использования:
      logger_manager.enable_logging()
      
  • disable_logging()

    • Отключает логирование.
    • Пример использования:
      logger_manager.disable_logging()
      
  • enable_internal_logging()

    • Включает внутреннее логирование для отладки работы LoggerManager.
    • Пример использования:
      logger_manager.enable_internal_logging()
      
  • disable_internal_logging()

    • Отключает внутреннее логирование.
    • Пример использования:
      logger_manager.disable_internal_logging()
      

  • enable_file_logging(file_name: str = 'app.log', log_dir: str = 'logs')

    • Включает логирование в файл.
    • Пример использования:
      logger_manager.enable_file_logging(file_name='logfile.log', log_dir='log_dir')
      
  • disable_file_logging()

    • Отключает логирование в файл.
    • Пример использования:
      logger_manager.disable_file_logging()
      
  • set_file_handler_params(max_bytes: int, backup_count: int)

    • Настраивает параметры для ротации логов (размер файла и количество резервных копий).
    • Пример использования:
      logger_manager.set_file_handler_params(max_bytes=1024 * 1024, backup_count=5)
      
  • set_file_level(level: LogLevel)

    • Устанавливает уровень логирования для файлового обработчика.
    • Пример использования:
      logger_manager.set_file_level('INFO')
      
  • set_file_filter(level: LogLevel)

    • Устанавливает фильтр для файлового логирования на указанном уровне.
    • Пример использования:
      logger_manager.set_file_filter('ERROR')
      
  • set_file_filter_list(levels: List[str])

    • Фильтрует уровни логирования, которые будут записываться в файл. Можно указать уровни, такие как "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL".
    • Пример использования:
      logger_manager.set_file_filter_list(["WARNING", "ERROR", "CRITICAL"])
      
      Это позволит логировать в файл только сообщения с уровнями "WARNING", "ERROR" и "CRITICAL".
  • set_file_format(format_string: str)

    • Устанавливает формат вывода для файлового логирования.
    • Пример использования:
      logger_manager.set_file_format("%(asctime)s - %(levelname)s - %(message)s")
      

  • enable_console_logging()

  • Включает логирование сообщений в консоль.

  • Пример использования:

    logger_manager.enable_console_logging()
    
  • disable_console_logging()

    • Отключает логирование в консоль.
    • Пример использования:
      logger_manager.disable_console_logging()
      
  • set_console_level(level: LogLevel)

    • Устанавливает уровень логирования для консоли.
    • Пример использования:
      logger_manager.set_console_level('INFO')
      
  • set_console_filter(level: LogLevel)

    • Устанавливает фильтр для консольного логирования.
    • Пример использования:
      logger_manager.set_console_filter('WARNING')
      
  • set_console_filter_list(levels: List[str])

    • Фильтрует уровни логирования, которые будут отображаться в консоли. Можно указать список уровней, таких как "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL".
    • Пример использования:
      logger_manager.set_console_filter_list(["INFO", "ERROR"])
      
      В этом случае в консоль будут логироваться только сообщения с уровнями "INFO" и "ERROR".
  • set_console_format(format_string: str)

    • Устанавливает формат вывода для консольного логирования.
    • Пример использования:
      logger_manager.set_console_format("%(asctime)s - %(message)s")
      
  • set_console_color(level: LogLevel, color: ColorName)

    • Устанавливает цвет для указанного уровня консольного логирования.
    • Пример использования:
      logger_manager.set_console_color('ERROR', 'red')
      

  • set_all_level(level: LogLevel)

    • Устанавливает единый уровень логирования для всех обработчиков.
    • Пример использования:
      logger_manager.set_all_level('WARNING')
      
  • set_all_filter(level: LogLevel)

    • Устанавливает единый фильтр для всех обработчиков.
    • Пример использования:
      logger_manager.set_all_filter('ERROR')
      
  • clear_all_filter()

    • Очищает все фильтры для всех обработчиков.
    • Пример использования:
      logger_manager.clear_all_filter()
      

  • time_execution()
    • Контекстный менеджер для логирования времени выполнения блока кода.
    • Пример использования:
      with logger_manager.time_execution():
          # код, время выполнения которого нужно логировать
          pass
      

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

loggermanager-0.1.3.1.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

LoggerManager-0.1.3.1-py3-none-any.whl (14.8 kB view hashes)

Uploaded Python 3

Supported by

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