There are valid complaints in the grandparent, but if you can’t figure out how to fork output to stdout, stderr and file in six months, that’s really on you. You should know how to register multiple handlers if you spent five minutes reading the documentation.
I can easily fork output manually; I can't do it reliably using Python's logger.
Echoing grandparent's comment, it's not that hard:
https://docs.python.org/3/library/logging.html#logging.Logge...
For dictConfig, the documentation has examples
https://docs.python.org/3/library/logging.config.html#object...
Python's logging has its faults, but you're complaining about something I could find in 5 minutes of Google.
None of which work reliably across multiple modules all fighting for control of the logger. Reliable is the key term, here.
Re:Logging in Python like a pro
by oblvious-earth on Friday July 01, 2022 @08:26PM
(#31954775)
Don't write code where every module tries to make a root logger or set the logger config then.
Each module should use `logger = logging.getLogger(__name__)` and the logger config can set in one place, conventionally in the `__main__` script.
https://docs.python.org/3/howto/logging.html#advanced-loggin...
Re:Logging in Python like a pro
by funstuff007 on Friday July 01, 2022 @10:00PM
(#31955373)
true that. but I've never figured out a good way to do this and have a single test runner module log when invoked directly: python3 test_foo.py and indirectly python3 -m unittest test_foo
Re:Logging in Python like a pro
by slaymaker1907 on Friday July 01, 2022 @05:20PM
(#31953099)
Eh, it's really not that bad. I implemented this for a tool at work last year and it seemed pretty straightforward.
It's literally easier to just have an IOBuffer laying around.