Line | |
---|
1 | from logging import Logger
|
---|
2 | import logging
|
---|
3 | from typing import cast
|
---|
4 |
|
---|
5 | from tudelft_utilities_logging.Reporter import Reporter
|
---|
6 |
|
---|
7 |
|
---|
8 | # initialize the logging, otherwise it seems not to work properly
|
---|
9 | logging.basicConfig()
|
---|
10 |
|
---|
11 | class ReportToLogger ( Reporter ):
|
---|
12 | '''
|
---|
13 | dumps the reported messages into a log file with the
|
---|
14 | given name.
|
---|
15 | This really tries hard to avoid any writing to
|
---|
16 | stdout/stderr, because those are used
|
---|
17 | for the communicatino to the party.
|
---|
18 | '''
|
---|
19 |
|
---|
20 | def __init__(self, logname:str):
|
---|
21 | '''
|
---|
22 | @param logname the name for the Logger
|
---|
23 | '''
|
---|
24 | super().__init__()
|
---|
25 | self._logger:Logger = logging.getLogger(logname)
|
---|
26 |
|
---|
27 | def log(self, level:int , msg:str, thrown: BaseException=None) -> None:
|
---|
28 | # We use the internal function, the only way to include our exception...
|
---|
29 | self._logger._log(level=level, msg=msg, args=[], exc_info=thrown,\
|
---|
30 | stack_info=True if thrown else False)
|
---|
31 |
|
---|
32 |
|
---|
33 | |
---|
Note:
See
TracBrowser
for help on using the repository browser.