mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-03 01:35:22 +03:00
Add colors to frigate format to make logs easier to parse
This commit is contained in:
parent
7c60753ab0
commit
f3c219f2a0
@ -14,9 +14,7 @@ from collections import deque
|
|||||||
def listener_configurer() -> None:
|
def listener_configurer() -> None:
|
||||||
root = logging.getLogger()
|
root = logging.getLogger()
|
||||||
console_handler = logging.StreamHandler()
|
console_handler = logging.StreamHandler()
|
||||||
formatter = logging.Formatter(
|
formatter = FrigateLogFormatter()
|
||||||
"[%(asctime)s] %(name)-30s %(levelname)-8s: %(message)s", "%Y-%m-%d %H:%M:%S"
|
|
||||||
)
|
|
||||||
console_handler.setFormatter(formatter)
|
console_handler.setFormatter(formatter)
|
||||||
root.addHandler(console_handler)
|
root.addHandler(console_handler)
|
||||||
root.setLevel(logging.INFO)
|
root.setLevel(logging.INFO)
|
||||||
@ -42,6 +40,33 @@ def log_process(log_queue: Queue) -> None:
|
|||||||
logger.handle(record)
|
logger.handle(record)
|
||||||
|
|
||||||
|
|
||||||
|
class FrigateLogFormatter(logging.Formatter):
|
||||||
|
|
||||||
|
grey = "\x1b[38;20m"
|
||||||
|
yellow = "\x1b[33;20m"
|
||||||
|
red = "\x1b[31;20m"
|
||||||
|
bold_red = "\x1b[31;1m"
|
||||||
|
reset = "\x1b[0m"
|
||||||
|
format = (
|
||||||
|
"[%(asctime)s] %(name)-30s %(levelname)-8s: %(message)s",
|
||||||
|
"%Y-%m-%d %H:%M:%S",
|
||||||
|
)
|
||||||
|
|
||||||
|
def __iniit__(self) -> None:
|
||||||
|
self.FORMATS = {
|
||||||
|
logging.DEBUG: self.grey + format + self.reset,
|
||||||
|
logging.INFO: self.grey + format + self.reset,
|
||||||
|
logging.WARNING: self.yellow + format + self.reset,
|
||||||
|
logging.ERROR: self.red + format + self.reset,
|
||||||
|
logging.CRITICAL: self.bold_red + format + self.reset,
|
||||||
|
}
|
||||||
|
|
||||||
|
def format(self, record):
|
||||||
|
log_fmt = self.FORMATS.get(record.levelno)
|
||||||
|
formatter = logging.Formatter(log_fmt)
|
||||||
|
return formatter.format(record)
|
||||||
|
|
||||||
|
|
||||||
# based on https://codereview.stackexchange.com/a/17959
|
# based on https://codereview.stackexchange.com/a/17959
|
||||||
class LogPipe(threading.Thread):
|
class LogPipe(threading.Thread):
|
||||||
def __init__(self, log_name: str):
|
def __init__(self, log_name: str):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user