I was making the assumption that any error that shows up in the error
reporting utility in the ZMI is also copied to the SiteError log
(typically STDOUT in a standard Zope 3 configuration), and vice versa.
This assumption is true in Zope 2, where in the error_log object you can
actually request the error to be logged to the shell as well.
It however does not appear to be the case in the error handling logic in
Zope 3. Instead, all errors appear to be logged to the error reporting
utility, but only errors that:
* have views
* have this view provide the ISystemErrorView interface
* and have a method on this view isSystemError() returning True
appear to get logged to the SiteError log (and thus STDOUT).
In certain circumstances this leads to errors that do not appear on
STDOUT that do get logged into the error reporting utility. This is, at
least to me, rather surprising.
What's the motivation for the differences? Could we unify this approach
so that the error reporting utility is responsible for logging to the
SiteError log as well?
Zope3-dev mailing list