[Seaside] Write stack traces to stderr?
dfarber at numenor.com
Sat May 2 22:51:38 UTC 2009
On May 2, 2009, at 3:41 PM, David Farber wrote:
> After nosing around a bit, it looks like I need to modify
> WAResponse class>>internalError: to see errors raised during the
> construction of a response (and write a stack trace out to a log).
> But it strikes me as odd that Seaside doesn't already have a
> facility for logging errors. Am I missing something?!
OK, I was off a bit on that one. I see now that there is a
configurable Error Handler that defaults to WAWalkbackErrorHandler.
As a quick hack, if I redefine WAWalkback>>initializeWithException:
like below, then I get what I want.
| context |
exception := anException.
context := anException signalerContext.
FileStream oldFileNamed: '/dev/stderr' do: [:file |
file lineEndConvention: #lr.
file wantsLineEndConversion: true.
context errorReportOn: file].
frames := OrderedCollection new.
[ context isNil ] whileFalse: [
frames add: context.
context := context sender ].
limit := 5 min: frames size
So what I need is a custom ErrorHandler that prints a simple
acknowledgment message and logs the error. I think I can handle that.
While I am here, let me switch to a Pier question real quick. How
can I generate an error page that uses the header and footer of site?
More information about the seaside