-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogging_config.py
91 lines (89 loc) · 3.16 KB
/
logging_config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import logging
def logging_config(debug: list[str] = None) -> dict:
return {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"debug": {
"format": "\033[34m{levelname:8}\033[0;35m{name:>25s}\033[0;2m.{funcName:30}\033[0;34m{message}\033[0m",
"style": "{",
},
"info": {
"format": "{levelname:8}\033[35m{name:>25s}\033[0;2m.{funcName:30}\033[0m{message}",
"style": "{",
},
"warning": {
"format": "\033[33m{levelname:8}\033[0;35m{name:>25s}\033[0;2m.{funcName:30}\033[0;33m{message}\033[0m",
"style": "{",
},
"error": {
"format": "\033[31m{levelname:8}\033[0;35m{name:>25s}\033[0;2m.{funcName:30}\033[0;31m{message}\033[0m",
"style": "{",
},
"critical": {
"format": "\033[35m{levelname:8}\033[0;35m{name:>25s}\033[0;2m.{funcName:30}\033[0;35m{message}\033[0m",
"style": "{",
},
},
"filters": {
"root": {
"()": lambda: lambda record: (
record.name != "root"
or (
setattr(record, "name", ""),
setattr(record, "funcName", ""),
),
record,
)[-1],
},
},
"handlers": {
"debug": {
"class": "logging.StreamHandler",
"formatter": "debug",
"filters": [lambda record: record.levelno == logging.DEBUG, "root"],
},
"info": {
"class": "logging.StreamHandler",
"formatter": "info",
"filters": [lambda record: record.levelno == logging.INFO, "root"],
},
"warning": {
"class": "logging.StreamHandler",
"formatter": "warning",
"filters": [
lambda record: record.levelno == logging.WARNING,
"root",
],
},
"error": {
"class": "logging.StreamHandler",
"formatter": "error",
"filters": [lambda record: record.levelno == logging.ERROR, "root"],
},
"critical": {
"class": "logging.StreamHandler",
"formatter": "critical",
"filters": [
lambda record: record.levelno == logging.CRITICAL,
"root",
],
},
},
"loggers": {
"": {
"handlers": ["debug", "info", "warning", "error", "critical"],
"level": "DEBUG" if debug == [""] else "INFO",
"propagate": False,
},
**{
name: {
"handlers": ["debug", "info", "warning", "error", "critical"],
"level": "DEBUG",
"propagate": False,
}
for name in debug
if name
},
},
}