Add a custom Logger class with both verbose and trace levels. (#5613)

* rearrange commits

* Update redbot/setup.py

* change rich log level colours
This commit is contained in:
Draper
2022-03-15 20:20:37 +00:00
committed by GitHub
parent 7d716a2d67
commit 593eeb5362
6 changed files with 63 additions and 10 deletions

View File

@@ -7,6 +7,8 @@ from typing import Optional
import discord
from discord import __version__ as discord_version
from redbot.core.utils._internal_utils import cli_level_to_log_level
def confirm(text: str, default: Optional[bool] = None) -> bool:
if default is None:
@@ -186,12 +188,13 @@ def parse_cli_flags(args):
"process.",
)
parser.add_argument(
"-v",
"--verbose",
"--debug",
action="store_const",
action="count",
default=0,
dest="logging_level",
const=logging.DEBUG,
default=logging.INFO,
help="Sets the loggers level as debug",
help="Increase the verbosity of the logs, each usage of this flag increases the verbosity level by 1.",
)
parser.add_argument("--dev", action="store_true", help="Enables developer mode")
parser.add_argument(
@@ -291,5 +294,6 @@ def parse_cli_flags(args):
args.prefix = sorted(args.prefix, reverse=True)
else:
args.prefix = []
args.logging_level = cli_level_to_log_level(args.logging_level)
return args

View File

@@ -36,7 +36,7 @@ from fuzzywuzzy import fuzz, process
from rich.progress import ProgressColumn
from rich.progress_bar import ProgressBar
from redbot import VersionInfo
from redbot import VersionInfo, _log
from redbot.core import data_manager
from redbot.core.utils.chat_formatting import box
@@ -57,6 +57,7 @@ __all__ = (
"fetch_latest_red_version_info",
"deprecated_removed",
"RichIndefiniteBarColumn",
"cli_level_to_log_level",
)
_T = TypeVar("_T")
@@ -357,3 +358,15 @@ class RichIndefiniteBarColumn(ProgressColumn):
total=task.total,
completed=task.completed,
)
def cli_level_to_log_level(level: int) -> int:
if level == 0:
log_level = logging.INFO
elif level == 1:
log_level = logging.DEBUG
elif level == 2:
log_level = _log.VERBOSE
else:
log_level = _log.TRACE
return log_level