Это подключаемая библиотека, для удобного вывода отладочной информации.
Project description
Что это?
Это подключаемая библиотека, для удобного вывода
отладочной информации.
Как использовать ?
1 Сначала нужно создать экземпляры класса Debugger
Можно вручную указать параметры экземпляра
-
Debug_Name = Debugger(active: bool,,title_name: str, consoleOutput: bool = True, fileConfig: Optional[Dict] = None style_text: Optional[dstyle] = None)
-
active
= on/off жизни экземпляра, ЕслиFalse
экземпляр будет игнорировать вызов, а также будет добавлен в массивDebugger.AllCountSleepInstance
. -
title_name
= Уникальное имя экземпляра которое будет отображаться в выводе. -
consoleOutput
= on/off отображения в консоль или другие визуальные выходы, не влияет на запись в файл!. -
fileConfig
= Конфигурация записи в файл, входные параметры такие же как и у стандартной функцииopen()
передавать в форматеDict{"file":"test.log", ... }
. Для удобного формирования параметров можно
пользоваться функциейdopen()
. -
style_text
= Стиль отображения текста. Для удобного формирования параметров можно
пользоваться функциейdstyle
.
-
Или использовать готовые параметры
Debug_Name = Debugger(**dDEBUG)
- dDEBUG
- dINFO
- dWARNING
- dEXCEPTION
2 Установить глобальный стиль для всех экземпляров
Эта команда влияет на все экземпляры Debugger
Debugger.GlobalManager(global_active=None, typePrint: Optional[str] = "grid"):
-
global_active
= Вы можете on/off все экземпляры разом -
typePrint=
= Глобальный стиль отображения данных"grid"
= Стиль таблица
"tk"
= Будет открыто Tkinter окно и все записи будут направлены в него
None
= Без стиля
-
3 Использовать в коде
Вызывать экземпляр напрямую
Debug_Name(text,*args, sep=' ', end='\n')
Debug_Name
= Имя экземпляраDebugger
text
= Строка*args, sep=' ', end='\n'
= такие же, как и у встроенной функцииprint()
Либо использовать функцию для однородности
printD(Debug_Name, text, *args, sep=' ', end='\n')
Debug_Name
= Имя экземпляраDebugger
text
= Строка*args, sep=' ', end='\n'
= такие же, как и у встроенной функцииprint()
Примеры
Использовать свои стили, вызывать экземпляры напрямую
Для наглядности создадим функцию для генерации случайного слово
import random
import string
# Сгенерировать случайное слово
random_word = lambda: "".join(random.choice(string.ascii_letters) for j in range(random.randint(1, 40)))
from debugger import *
Debug = Debugger(True,title_name="[DEBUG]",
fileConfig=dopen(file="debug.log",
mode="a",
encoding="utf-8"),
style_text=dstyle(bg_color="bg_blue",
len_word=21)
)
Info = Debugger(True,title_name="[INFO]",
fileConfig={"file": "info.log",
"mode": "a", "encoding": "utf-8"},
style_text=dstyle(len_word=25),
consoleOutput=False
)
Warning = Debugger(True,"[WARNING]", style_text=dstyle(len_word=25))
Debugger.GlobalManager(typePrint="grid")
if __name__ == '__main__':
for i in range(10):
Warning(random_word())
Debug(random_word())
Info(random_word())
Использовать готовые стили, вызывать printD
from debugger import *
Debug = Debugger(**dDEBUG)
Info = Debugger(**dINFO)
Warning = Debugger(**dWARNING)
Debugger.GlobalManager(typePrint="grid")
if __name__ == '__main__':
for i in range(10):
printD(Debug, random_word())
printD(Warning, random_word())
printD(Info, random_word())
Использовать GUI Tkinter
from debugger import *
Debug = Debugger(**dDEBUG)
Info = Debugger(**dINFO)
Warning = Debugger(**dWARNING)
TEST = Debugger(True,"TEST")
Debugger.GlobalManager(typePrint="tk")
for i in range(10):
printD(Debug, random_word())
printD(Info, random_word())
printD(Warning, random_word())
printD(TEST, random_word())
time.sleep(0.3) # Задержка для наглядности поступления сообщений
Советы
Про интерфейс GUI Tkinter
- Tkinter запускается в новом потоке
- Если нажать на заголовок консоли, то она отчистится
- Если нажать нижнею кнопку
save geometry
то вы сохраните положение окна на следующий запуск - Если закрыть окно, то данные будут отправляться в консоль
Про доступную информации об экземпляре Debugger
-
public set:
consoleOutput
= Вывод в консольstyle_text
= Стиль отображения текстаactive()
= Включить дебагерdeactivate()
= Отключить дебагер
-
public get:
title_name
= Уникальное имя дебагераfileConfig
= Конфигурация для файлаAllCountActiveInstance
= Все активные дебагерыAllCountSleepInstance
= Все приостановленный дебагирыAllUseFileName
= Все используемые имена файловAllInstance
= Все экземпляры дебагеров
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for console_debugger-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8144bbbaa69bc583107e3ff52e1721ad885960ffb3a0012943018037bdec3b21 |
|
MD5 | e00948523690141d2d02143cdaf465d1 |
|
BLAKE2b-256 | 486d5798c59a4999bf7364d7c1041c6e748608c57a4b8a1fef85c679730c3d79 |