-
Notifications
You must be signed in to change notification settings - Fork 59
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pyblish silent fail confusing #374
Comments
more indepth example: for plugins, any importing is usually done inside the process method for dcc specific code, so QML can access the plugins outside the dcc and wont crash when pymel is not found but if you want to import an action in a plugin, instead of hardcoding the action in your plugin module. example plugins live in let's say we have the files (+ any init needed) when we import the action in the plugin this results in a quite confusing case where pyblish silently fails, and it is quite tricky to debug why it fails. i'm not sure if there is a good solution for this. |
Agreed, this has been a problem since day one. The problem has been where to make the error visible, as it isn't something the end-user can do anything with. So it's a developer-only error, which means we shouldn't display it in any GUI but could display in a terminal or e.g. Maya's Output Window. That said, having it more visible - even to users - wouldn't be the end of the world either. If you have any ideas, I'd be happy to consider them. |
when any tool or script in maya crashes it just errors out in the console (script editor, not output window) ex. |
Your intuition aligns with mine, would be happy to consider changing this aspect of error reporting. For a start, if you are able to make it easy for me to digest and understand the changes (my time is very limited at this very moment due to Ragdoll) then if all goes well I'd also be happy to consider giving you the "keys to the castle" as it were, such that you can make changes more rapidly without me picking on each new line. |
It be great to get your feedback on the following. log.debugMost cases of silent plugin fail happen during discover. Currently some steps aren't logged, resulting in silently skipping a plugin. example: the user enables debug log in the console with import logging
logging.getLogger("pyblish").setLevel(logging.DEBUG) Before nothing informative would show, now we see plugin load is skipped due to no compatible host
log.debug handles expected behaviour. plugin is not loaded due to no compatible host. pyblish works as intended.
ExceptionCurrently, when a plugin doesn't load due to ex. a compile error, it logs as debug. TODO:
example:
otherthere are still rare cases of silent fails, I've noticed that putting reload in your module can trigger a silent fail with no exceptions. |
closing this since PR went in :) |
actually reopening this since we need to write documentation regarding the debug logging. |
when a plugin module fails criteria during the discovery phase, it fails silently resulting in confusing the developer.
is this the best way to handle this, or can we add a log error to the log.
The text was updated successfully, but these errors were encountered: