MCPcopy Create free account
hub / github.com/F-Stack/f-stack / __init__

Method __init__

dpdk/dts/framework/logger.py:42–92  ·  view source on GitHub ↗
(self, logger: logging.Logger, node: str = "suite")

Source from the content-addressed store, hash-verified

40 verbose_fh: logging.FileHandler
41
42 def __init__(self, logger: logging.Logger, node: str = "suite"):
43 self._logger = logger
44 # 1 means log everything, this will be used by file handlers if their level
45 # is not set
46 self._logger.setLevel(1)
47
48 self.node = node
49
50 # add handler to emit to stdout
51 sh = logging.StreamHandler()
52 sh.setFormatter(logging.Formatter(stream_fmt, date_fmt))
53 sh.setLevel(logging.INFO) # console handler default level
54
55 if SETTINGS.verbose is True:
56 sh.setLevel(logging.DEBUG)
57
58 self._logger.addHandler(sh)
59 self.sh = sh
60
61 # prepare the output folder
62 if not os.path.exists(SETTINGS.output_dir):
63 os.mkdir(SETTINGS.output_dir)
64
65 logging_path_prefix = os.path.join(SETTINGS.output_dir, node)
66
67 fh = logging.FileHandler(f"{logging_path_prefix}.log")
68 fh.setFormatter(
69 logging.Formatter(
70 fmt="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
71 datefmt=date_fmt,
72 )
73 )
74
75 self._logger.addHandler(fh)
76 self.fh = fh
77
78 # This outputs EVERYTHING, intended for post-mortem debugging
79 # Also optimized for processing via AWK (awk -F '|' ...)
80 verbose_fh = logging.FileHandler(f"{logging_path_prefix}.verbose.log")
81 verbose_fh.setFormatter(
82 logging.Formatter(
83 fmt="%(asctime)s|%(name)s|%(levelname)s|%(pathname)s|%(lineno)d|"
84 "%(funcName)s|%(process)d|%(thread)d|%(threadName)s|%(message)s",
85 datefmt=date_fmt,
86 )
87 )
88
89 self._logger.addHandler(verbose_fh)
90 self.verbose_fh = verbose_fh
91
92 super(DTSLOG, self).__init__(self._logger, dict(node=self.node))
93
94 def logger_exit(self) -> None:
95 """

Callers

nothing calls this directly

Calls 1

dictClass · 0.50

Tested by

no test coverage detected