summaryrefslogtreecommitdiff
path: root/kawaii_logger.py
diff options
context:
space:
mode:
authorElizabeth <me@liz.coffee>2025-06-02 15:54:32 -0700
committerElizabeth <me@liz.coffee>2025-06-02 15:54:32 -0700
commit03646d1e891271339ca256fadd15eaa8ac678911 (patch)
tree5df23a874fa1ae5c62dad318d9098225852f2137 /kawaii_logger.py
parentd098e94ad102da9d018acca72ca5a5c554d25a01 (diff)
downloaddotfiles-03646d1e891271339ca256fadd15eaa8ac678911.tar.gz
dotfiles-03646d1e891271339ca256fadd15eaa8ac678911.zip
Make it a python package
Diffstat (limited to 'kawaii_logger.py')
-rw-r--r--kawaii_logger.py68
1 files changed, 0 insertions, 68 deletions
diff --git a/kawaii_logger.py b/kawaii_logger.py
deleted file mode 100644
index 745e303..0000000
--- a/kawaii_logger.py
+++ /dev/null
@@ -1,68 +0,0 @@
-import logging
-import sys
-import random
-
-MOOD_EMOTICONS = {
- "debug": ["(=^・^=)", "(=・ェ・=)", "(=^-ω-^=)", "(=^‥^=)"],
- "info": ["(^• ω •^)", "(=^・ω・^)y=", "(≚ᄌ≚)", "(。♥‿♥。)"],
- "warning": ["(; ̄Д ̄)", "(¬_¬;)", "(・ัω・ั)", "(・_・ヾ"],
- "error": ["(╥﹏╥)", "(≧Д≦)", "(;′⌒`)", "(T▽T)"],
-}
-
-MOOD_SUFFIXES = {
- "_happy": ["(ノ◕ヮ◕)ノ*:・゚✧", "(๑˃ᴗ˂)ﻭ", "(^▽^)", "( ˘⌣˘)♡(˘⌣˘ )"],
- "_sad": ["(。•́︿•̀。)", "(╯︵╰,)", "(ಥ﹏ಥ)", "(︶︹︺)"],
- "_anxious": ["(ノдヽ)", "(◎_◎;)", "(・_・;)", "(゚Д゚;)"],
-}
-
-LEVEL_COLORS = {
- logging.DEBUG: "\033[95m", # light magenta
- logging.INFO: "\033[96m", # light cyan
- logging.WARNING: "\033[93m", # light yellow
- logging.ERROR: "\033[91m", # light red
- logging.CRITICAL: "\033[35m", # magenta
-}
-
-RESET_COLOR = "\033[0m"
-
-
-class KawaiiFormatter(logging.Formatter):
- def format(self, record):
- level = record.levelname.lower()
- color = LEVEL_COLORS.get(record.levelno, "")
- base_emotes = MOOD_EMOTICONS.get(level, [])
- mood_emotes = []
-
- msg_lower = record.msg.lower()
- for suffix, emotes in MOOD_SUFFIXES.items():
- if suffix in msg_lower:
- mood_emotes = emotes
- record.msg = record.msg.replace(suffix, "")
- break
-
- emote_pool = mood_emotes if mood_emotes else base_emotes
- emote = random.choice(emote_pool) if emote_pool else "(・ω・)"
-
- message = record.msg.lower().strip()
- ts = self.formatTime(record, "%Y-%m-%d %H:%M:%S")
- lvl = record.levelname
- filename = record.filename
- lineno = str(record.lineno)
-
- formatted = f"[{ts}] {color}[{lvl}]{RESET_COLOR} [{filename}:{lineno}] {color}{message}{RESET_COLOR} {emote}"
- return f"{formatted}{RESET_COLOR}"
-
-
-def setup_logger(verbose: bool = False) -> logging.Logger:
- """sets up a super cute logger with sparkles and cat faces ✨"""
- logger = logging.getLogger("dotfiles")
- logger.setLevel(logging.DEBUG if verbose else logging.INFO)
-
- handler = logging.StreamHandler(sys.stdout)
- handler.setFormatter(KawaiiFormatter())
-
- logger.handlers.clear()
- logger.addHandler(handler)
- logger.propagate = False
-
- return logger