Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork937
Added NullHandlers to all loggers to prevent "No handler" messages#300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Added NullHandlers to all loggers to prevent "No handler" messages#300
Uh oh!
There was an error while loading.Please reload this page.
Conversation
When the code is run without setting up loggers, the loggers have nohandlers for the emitted messages. The logging module displays:`No handlers could be found for logger "git.cmd"` on theconsole. By adding a NullHandler (a no-op) the message disappears,and doesn't affect logging when other handlers are configured.
So I see the CI build ran with Python 2.6. Is there a list of supported Python versions? I can add a NullHandler as described here, but I'm not sure whre you would want that to live:https://docs.python.org/release/2.6/library/logging.html#configuring-logging-for-a-library Edit: Looks like more stuff failed. I'm working on that too. Also noticed the CI process lists the versions it tests against. |
I'm not able to reproduce the error on my machine in Python 2.7. Also on the CI build, 'FOO' is totally in the exception. I'm not really sure what's supposed to be going on:
|
Thanks a for your contribution! I took the liberty to add the required NullHandler implementation myself. Besides, you are right, the |
You can watch the development streamon youtube.
|
The NullHandler class in git.util was added when merginggitpython-developers#300, toallow a noop handler to be used on Python 2.6, since the standardlibrary logging.NullHandler class was added in Python 2.7.When introduced ind1a9a23, the git.util.NullHandler class was alsopatched into the logging module, but that has no longer been donesince2fced2e (gitpython-developers#979), nor does GitPython make other use of it.This also changes the parameter type annotation on the emit methodfrom `object` to `logging.LogRecord`, which is the expeced type.
This stops adding `NullHandler` instances to GitPython's loggers.As noted ingitpython-developers#1806, when they were added ingitpython-developers#300 this preventederrors when GitPython logged messages and logging was not enabled,but since Python 3.2 there is a logger of last resort providing anicer default behavior of showing the messages. (They are stillshown with better formatting if logging is configured, even ifjust done with logging.basicConfig(), so applications should stilltypically configure logging.)
When the code is run without setting up loggers, the loggers have no
handlers for the emitted messages. The logging module displays:
No handlers could be found for logger "git.cmd"
on theconsole. By adding a NullHandler (a no-op) the message disappears,
and doesn't affect logging when other handlers are configured.