zerohertzLib.logging

Logging

Webhook 또는 file에 쉽게 log를 작성할 수 있는 class

class zerohertzLib.logging.DiscordHandler(webhook_url, level=0)[source]

Bases: Handler, Discord

Discord Webhook 기반 handler

Parameters:
  • webhook_url (str) – Discord Webhook의 URL

  • level (Optional[int]) – Logger의 level

Examples

>>> logger = logging.Logger()
>>> logger.addHandler(zz.logging.DiscordHandler(webhook_url))
emit(record)[source]

logging.Handler.emit 구현

class zerohertzLib.logging.Logger(logger_name=None, width=None, show_path=True, file_name=None, discord=None, slack=None, channel=None, logger_level=0, console_level=0, file_level=0)[source]

Bases: Logger

이쁘게 log를 찍어보는 class

Note

더 예뻐지고 싶습니다…

Parameters:
  • logger_name (Optional[str]) – Logger의 이름

  • width (Optional[int]) – Logger의 너비

  • show_path (Optional[bool]) – Logger의 호출 경로 표시 여부

  • file_name (Optional[str]) – .log file의 이름 (미입력 시 미출력)

  • discord (Optional[str]) – Discord Webhook의 URL (logger_level 적용)

  • slack (Optional[str]) – Slack Webhook의 URL 혹은 Bot의 token (logger_level 적용)

  • channel (Optional[str]) – Slack Webhook 또는 Bot이 전송할 channel

  • logger_level (Optional[int]) – logging.Logger 의 level

  • console_level (Optional[int]) – rich.logging.RichHandler 의 level

  • file_level (Optional[int]) – logging.FileHandler 의 level

Examples

>>> logger = zz.logging.Logger("TEST_1")
>>> logger.debug("debug")
[03/13/24 00:00:00] DEBUG    [TEST_1] debug                                  <stdin>:1
>>> logger.info("info")
[03/13/24 00:00:00] INFO     [TEST_1] info                                   <stdin>:1
>>> logger.warning("warning")
[03/13/24 00:00:00] WARNING  [TEST_1] warning                                <stdin>:1
>>> logger.error("error")
[03/13/24 00:00:00] ERROR    [TEST_1] error                                  <stdin>:1
>>> logger.critical("critical")
[03/13/24 00:00:00] CRITICAL [TEST_1] critical                               <stdin>:1
class zerohertzLib.logging.SlackBotHandler(token, channel, name=None, icon_emoji=None, icon_url=None, timeout=10, level=0)[source]

Bases: Handler, SlackBot

Slack Bot 기반 handler

Parameters:
  • token (str) – Slack Bot의 token

  • channel (str) – Slack Bot이 전송할 channel

  • name (Optional[str]) – Slack Bot의 표시될 이름

  • icon_emoji (Optional[str]) – Slack Bot의 표시될 사진 (emoji)

  • icon_url (Optional[str]) – Slack Bot의 표시될 사진 (photo)

  • timeout (Optional[int]) – message, method 사용 시 사용될 timeout

  • level (Optional[int]) – Logger의 level

Examples

>>> logger = logging.Logger()
>>> logger.addHandler(zz.logging.SlackBotHandler(token, channel, name, icon_emoji))
emit(record)[source]

logging.Handler.emit 구현

class zerohertzLib.logging.SlackWebhookHandler(webhook_url, channel=None, name=None, icon_emoji=None, icon_url=None, timeout=10, level=0)[source]

Bases: Handler, SlackWebhook

Slack Webhook 기반 handler

Parameters:
  • webhook_url (str) – Slack Webhook의 URL

  • channel (Optional[str]) – Slack Webhook이 전송할 channel

  • name (Optional[str]) – Slack Webhook의 표시될 이름

  • icon_emoji (Optional[str]) – Slack Webhook의 표시될 사진 (emoji)

  • icon_url (Optional[str]) – Slack Webhook의 표시될 사진 (photo)

  • timeout (Optional[int]) – message method 사용 시 사용될 timeout

  • level (Optional[int]) – Logger의 level

Examples

>>> logger = logging.Logger()
>>> logger.addHandler(zz.logging.SlackWebhookHandler(webhook_url, channel, name, icon_emoji))
emit(record)[source]

logging.Handler.emit 구현