1- from argparse import BooleanOptionalAction , FileType
2- from logging import getLogger
3-
4- from cmdcomp import __version__
5- from cmdcomp .completion import generate
6- from cmdcomp .config .config import load
7- from cmdcomp .shell_type import ShellType
8-
9- logger = getLogger (__name__ )
10-
11-
121class App :
132 @classmethod
143 def run (
@@ -17,7 +6,16 @@ def run(
176 * ,
187 throw_exception : bool = True ,
198 ) -> None :
20- from argparse import ArgumentParser
9+ import logging
10+ from argparse import ArgumentParser , BooleanOptionalAction , FileType
11+ from logging import getLogger
12+
13+ from rich .logging import RichHandler
14+
15+ from cmdcomp import __version__
16+ from cmdcomp .completion import generate
17+ from cmdcomp .config .config import load
18+ from cmdcomp .shell_type import ShellType
2119
2220 parser = ArgumentParser (
2321 prog = "cmdcomp" ,
@@ -61,6 +59,18 @@ def run(
6159 help = "output verbose log." ,
6260 )
6361
62+ logging .basicConfig (
63+ format = "%(message)s" ,
64+ handlers = [
65+ RichHandler (
66+ show_time = False ,
67+ show_path = False ,
68+ rich_tracebacks = True ,
69+ )
70+ ],
71+ )
72+ logger = getLogger (__name__ )
73+
6474 space = parser .parse_args (args )
6575
6676 try :
@@ -70,15 +80,7 @@ def run(
7080 )
7181
7282 except Exception as e :
73- import colorama
74-
75- colorama .init ()
76- message = colorama .Back .RED + " Error " + colorama .Back .RESET + f": { e } "
77-
7883 if space .verbose :
79- logger .exception (message )
84+ logger .exception (e )
8085 else :
81- logger .error (message )
82-
83- if throw_exception :
84- raise e
86+ logger .error (e )
0 commit comments