Rev | Line | |
---|
[207] | 1 | from logging import Logger
|
---|
[204] | 2 | import logging
|
---|
| 3 | from typing import cast
|
---|
| 4 |
|
---|
[207] | 5 | from tudelft_utilities_logging.Reporter import Reporter
|
---|
| 6 |
|
---|
| 7 |
|
---|
[204] | 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 | '''
|
---|
[949] | 24 | super().__init__()
|
---|
[204] | 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.