diff options
author | Elizabeth <me@liz.coffee> | 2025-06-02 15:54:32 -0700 |
---|---|---|
committer | Elizabeth <me@liz.coffee> | 2025-06-02 15:54:32 -0700 |
commit | 03646d1e891271339ca256fadd15eaa8ac678911 (patch) | |
tree | 5df23a874fa1ae5c62dad318d9098225852f2137 /kawaii_logger.py | |
parent | d098e94ad102da9d018acca72ca5a5c554d25a01 (diff) | |
download | dotfiles-03646d1e891271339ca256fadd15eaa8ac678911.tar.gz dotfiles-03646d1e891271339ca256fadd15eaa8ac678911.zip |
Make it a python package
Diffstat (limited to 'kawaii_logger.py')
-rw-r--r-- | kawaii_logger.py | 68 |
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 |