Skip to content

Commit

Permalink
Merge pull request #73 from MEHRSHAD-MIRSHEKARY/refactor/docs
Browse files Browse the repository at this point in the history
🔨 Refactor/docs
ARYAN-NIKNEZHAD authored Sep 2, 2024
2 parents a27c2d9 + ae0b27b commit af5ce06
Showing 4 changed files with 60 additions and 52 deletions.
58 changes: 31 additions & 27 deletions django_logging/constants/ansi_colors.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,35 @@
from dataclasses import dataclass


# pylint: disable=too-many-instance-attributes
@dataclass(frozen=True)
class AnsiColors:
BLACK = "\033[0;30m"
RED = "\033[0;31m"
RED_BACKGROUND = "\033[1;41m"
GREEN = "\033[0;32m"
YELLOW = "\033[0;33m"
BLUE = "\033[0;34m"
MAGENTA = "\033[0;35m"
CYAN = "\033[0;36m"
GRAY = "\033[0;37m"
WHITE = "\033[0;38m"
RESET = "\033[0m"
BRIGHT_BLACK = "\033[0;90m"
BRIGHT_RED = "\033[0;91m"
BRIGHT_GREEN = "\033[0;92m"
BRIGHT_YELLOW = "\033[0;93m"
BRIGHT_BLUE = "\033[0;94m"
BRIGHT_MAGENTA = "\033[0;95m"
BRIGHT_CYAN = "\033[0;96m"
BRIGHT_WHITE = "\033[0;97m"
BLACK_BACKGROUND = "\033[40m"
RED_BACKGROUND = "\033[41m"
GREEN_BACKGROUND = "\033[42m"
YELLOW_BACKGROUND = "\033[43m"
BLUE_BACKGROUND = "\033[44m"
MAGENTA_BACKGROUND = "\033[45m"
CYAN_BACKGROUND = "\033[46m"
WHITE_BACKGROUND = "\033[47m"
BLACK: str = "\033[0;30m"
RED: str = "\033[0;31m"
GREEN: str = "\033[0;32m"
YELLOW: str = "\033[0;33m"
BLUE: str = "\033[0;34m"
MAGENTA: str = "\033[0;35m"
CYAN: str = "\033[0;36m"
GRAY: str = "\033[0;37m"
WHITE: str = "\033[0;38m"
RESET: str = "\033[0m"
BRIGHT_BLACK: str = "\033[0;90m"
BRIGHT_RED: str = "\033[0;91m"
BRIGHT_GREEN: str = "\033[0;92m"
BRIGHT_YELLOW: str = "\033[0;93m"
BRIGHT_BLUE: str = "\033[0;94m"
BRIGHT_MAGENTA: str = "\033[0;95m"
BRIGHT_CYAN: str = "\033[0;96m"
BRIGHT_WHITE: str = "\033[0;97m"
BLACK_BACKGROUND: str = "\033[40m"
RED_BACKGROUND: str = "\033[41m"
GREEN_BACKGROUND: str = "\033[42m"
YELLOW_BACKGROUND: str = "\033[43m"
BLUE_BACKGROUND: str = "\033[44m"
MAGENTA_BACKGROUND: str = "\033[45m"
CYAN_BACKGROUND: str = "\033[46m"
WHITE_BACKGROUND: str = "\033[47m"


# Mapping log levels to ANSI colors
9 changes: 5 additions & 4 deletions django_logging/tests/utils/test_set_conf.py
Original file line number Diff line number Diff line change
@@ -194,6 +194,7 @@ def test_set_config_exception_handling(
-------
- A warning message indicating a configuration error is logged.
"""
colors = AnsiColors()
mock_is_auto_initialization_enabled.return_value = True
mock_LogManager.side_effect = ValueError("Invalid configuration")

@@ -218,8 +219,8 @@ def test_set_config_exception_handling(
" A configuration issue has been detected.\n"
"System checks will be run to provide more detailed information.\n"
"==============================================================\n",
AnsiColors.RED_BACKGROUND,
AnsiColors.RESET,
AnsiColors.RED,
AnsiColors.RESET,
colors.RED_BACKGROUND,
colors.RESET,
colors.RED,
colors.RESET,
)
33 changes: 17 additions & 16 deletions django_logging/utils/console_colorizer.py
Original file line number Diff line number Diff line change
@@ -3,23 +3,24 @@


def colorize_log_format(log_format: str, levelname: str) -> str:
colors = AnsiColors()
color_mapping = {
"%(asctime)s": f"{AnsiColors.CYAN}%(asctime)s{AnsiColors.RESET}",
"%(created)f": f"{AnsiColors.BRIGHT_BLUE}%(created)f{AnsiColors.RESET}",
"%(relativeCreated)d": f"{AnsiColors.MAGENTA}%(relativeCreated)d{AnsiColors.RESET}",
"%(msecs)d": f"{AnsiColors.YELLOW}%(msecs)d{AnsiColors.RESET}",
"%(levelname)s": f"{LOG_LEVEL_COLORS.get(levelname, '')}%(levelname)s{AnsiColors.RESET}",
"%(levelno)d": f"{AnsiColors.RED}%(levelno)d{AnsiColors.RESET}",
"%(name)s": f"{AnsiColors.BRIGHT_MAGENTA}%(name)s{AnsiColors.RESET}",
"%(module)s": f"{AnsiColors.BRIGHT_GREEN}%(module)s{AnsiColors.RESET}",
"%(filename)s": f"{AnsiColors.YELLOW}%(filename)s{AnsiColors.RESET}",
"%(pathname)s": f"{AnsiColors.CYAN}%(pathname)s{AnsiColors.RESET}",
"%(lineno)d": f"{AnsiColors.RED}%(lineno)d{AnsiColors.RESET}",
"%(funcName)s": f"{AnsiColors.BRIGHT_BLUE}%(funcName)s{AnsiColors.RESET}",
"%(process)d": f"{AnsiColors.MAGENTA}%(process)d{AnsiColors.RESET}",
"%(thread)d": f"{AnsiColors.CYAN}%(thread)d{AnsiColors.RESET}",
"%(threadName)s": f"{AnsiColors.BRIGHT_MAGENTA}%(threadName)s{AnsiColors.RESET}",
"%(message)s": f"{AnsiColors.GRAY}%(message)s{AnsiColors.RESET}",
"%(asctime)s": f"{colors.CYAN}%(asctime)s{colors.RESET}",
"%(created)f": f"{colors.BRIGHT_BLUE}%(created)f{colors.RESET}",
"%(relativeCreated)d": f"{colors.MAGENTA}%(relativeCreated)d{colors.RESET}",
"%(msecs)d": f"{colors.YELLOW}%(msecs)d{colors.RESET}",
"%(levelname)s": f"{LOG_LEVEL_COLORS.get(levelname, '')}%(levelname)s{colors.RESET}",
"%(levelno)d": f"{colors.RED}%(levelno)d{colors.RESET}",
"%(name)s": f"{colors.BRIGHT_MAGENTA}%(name)s{colors.RESET}",
"%(module)s": f"{colors.BRIGHT_GREEN}%(module)s{colors.RESET}",
"%(filename)s": f"{colors.YELLOW}%(filename)s{colors.RESET}",
"%(pathname)s": f"{colors.CYAN}%(pathname)s{colors.RESET}",
"%(lineno)d": f"{colors.RED}%(lineno)d{colors.RESET}",
"%(funcName)s": f"{colors.BRIGHT_BLUE}%(funcName)s{colors.RESET}",
"%(process)d": f"{colors.MAGENTA}%(process)d{colors.RESET}",
"%(thread)d": f"{colors.CYAN}%(thread)d{colors.RESET}",
"%(threadName)s": f"{colors.BRIGHT_MAGENTA}%(threadName)s{colors.RESET}",
"%(message)s": f"{colors.GRAY}%(message)s{colors.RESET}",
}

for placeholder, colorized in color_mapping.items():
12 changes: 7 additions & 5 deletions django_logging/utils/set_conf.py
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@
)


# pylint: disable=too-many-arguments
# pylint: disable=too-many-arguments, too-many-locals
def set_config(
log_levels: LogLevels,
log_dir: LogDir,
@@ -98,6 +98,8 @@ def set_config(
except (ValueError, ImproperlyConfigured, AttributeError, FileNotFoundError):
import logging

colors = AnsiColors()

logging.warning(
"\n"
"========================%sDJANGO LOGGING%s"
@@ -106,10 +108,10 @@ def set_config(
" A configuration issue has been detected.\n"
"System checks will be run to provide more detailed information.\n"
"==============================================================\n",
AnsiColors.RED_BACKGROUND,
AnsiColors.RESET,
AnsiColors.RED,
AnsiColors.RESET,
colors.RED_BACKGROUND,
colors.RESET,
colors.RED,
colors.RESET,
)
return

0 comments on commit af5ce06

Please sign in to comment.