Skip to content

Commit 87b58f4

Browse files
authored
RSDK-872: Log to stdout, errors to stderr (#192)
1 parent 1666d10 commit 87b58f4

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/viam/logging.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import logging
33
from logging import DEBUG, INFO, WARN, WARNING, ERROR, FATAL # noqa: F401
44
from typing import Dict
5+
import sys
56

67
LOG_LEVEL = INFO
78
LOGGERS: Dict[str, logging.Logger] = {}
@@ -35,10 +36,20 @@ def getLogger(name: str) -> logging.Logger:
3536
return logger
3637
logger = logging.getLogger(name)
3738
logger.setLevel(LOG_LEVEL)
38-
handler = logging.StreamHandler()
3939
format = ColorFormatter("%(asctime)s\t\t" + "%(levelname)s\t" + "%(name)s (%(filename)s:%(lineno)d)\t" + "%(message)s\t")
40+
41+
handler = logging.StreamHandler(stream=sys.stdout)
4042
handler.setFormatter(format)
43+
handler.setLevel(level=LOG_LEVEL)
44+
# filter out logs at error level or above
45+
handler.addFilter(filter=lambda record: (record.levelno < logging.ERROR))
4146
logger.addHandler(handler)
47+
48+
err_handler = logging.StreamHandler(stream=sys.stderr)
49+
err_handler.setFormatter(format)
50+
err_handler.setLevel(level=logging.ERROR)
51+
logger.addHandler(err_handler)
52+
4253
LOGGERS[name] = logger
4354
return logger
4455

0 commit comments

Comments
 (0)