Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* test_logger setup: allow kwargs to be forwarded to CumulusLogger constructor * add failing test, each logger should only have one handler * CumulusLogger: only create new handler if one is not present This fixes the test added in the previous commit Before this change, multiple calls to `CumulusLogger(name)` would construct a `CumulusLogger` instance with the same underlying `Logger` instance, but each construction would also create and attach a new handler, resulting in duplicate messages, e.g.: ``` > python >>> from cumulus_logger import CumulusLogger >>> logger = CumulusLogger('test') >>> logger.info('hello there') {"message": "hello there", "timestamp": "2021-12-21T16:18:09.315309", "level": "info"} >>> >>> logger2 = CumulusLogger('test') >>> logger2.info('hello there') {"message": "hello there", "timestamp": "2021-12-21T16:18:16.845070", "level": "info"} {"message": "hello there", "timestamp": "2021-12-21T16:18:16.845070", "level": "info"} >>> >>> logger.info('hello there') {"message": "hello there", "timestamp": "2021-12-21T16:18:18.165564", "level": "info"} {"message": "hello there", "timestamp": "2021-12-21T16:18:18.165564", "level": "info"} ``` See also the screenshots on ghrcdaac/dmrpp-file-generator-docker#25 With this change, a new handler is only constructed if the underlying `Logger` does not already have any handlers, preventing messages from being handled more than once: ``` > python >>> from cumulus_logger import CumulusLogger >>> logger = CumulusLogger('test') >>> logger.info('hello there') {"message": "hello there", "timestamp": "2021-12-21T16:33:56.735453", "level": "info"} >>> >>> logger2 = CumulusLogger('test') >>> logger2.info('hello there') {"message": "hello there", "timestamp": "2021-12-21T16:34:03.887972", "level": "info"} >>> >>> logger.info('hello there') {"message": "hello there", "timestamp": "2021-12-21T16:34:07.808415", "level": "info"} ``` Co-authored-by: Michael Brandt <michaelbrandt5@gmail.com>
- Loading branch information