45 lines
995 B
Python
45 lines
995 B
Python
# @File : logger.py
|
|
# @Time : 2026/04/12 22:18:00
|
|
# @Author : SilverAg.L
|
|
|
|
import logging
|
|
|
|
try:
|
|
import colorlog
|
|
fmt_arr = [
|
|
"%(cyan)s%(asctime)s.%(msecs)03d%(reset)s",
|
|
"%(log_color)s%(levelname)-7s%(reset)s",
|
|
"%(blue)s%(message)s%(reset)s",
|
|
]
|
|
fmt = colorlog.ColoredFormatter(
|
|
" | ".join(fmt_arr),
|
|
datefmt="%Y-%m-%d %H:%M:%S"
|
|
)
|
|
except ImportError:
|
|
fmt = logging.Formatter(
|
|
"%(asctime)s.%(msecs)03d | %(levelname)-7s | %(message)s",
|
|
datefmt="%Y-%m-%d %H:%M:%S"
|
|
)
|
|
|
|
fmt.default_msec_format = "%s.%03d"
|
|
handler = logging.StreamHandler()
|
|
handler.setFormatter(fmt)
|
|
|
|
|
|
def get_logger(name=None):
|
|
logger = logging.getLogger(name or __name__)
|
|
if not logger.handlers:
|
|
logger.addHandler(handler)
|
|
logger.setLevel('DEBUG')
|
|
return logger
|
|
|
|
|
|
def test_logger():
|
|
log1 = get_logger("test1")
|
|
_ = get_logger("test1")
|
|
log1.info("Should print once")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
test_logger()
|