Hi Volker,

> > And it gets me wondering if it could be done the other way round. For 
>  > example, I define a function called (say) LoggedFunc:

Thanks for your long reply, and sample code. What you've done is very clever, 
and if I understand it right, it will be of interest to anyone who is 
developing Rebol code for use by others. Can I summarise what I think you've 
done for everyone's benefit?

Problem: Rebol error messages give way to little context. Useful for 
development maybe, but underpowered for code deployed in the field.

Volker's solution.

1. Be structured. Embed all Funcs in Objects:

  MyObject1: [Myfunc1: func [...] [...]
                    Myfunc2: func [...] [...]
                  ]

  MyObject2: [Myfunc1: func [...] [...]
                    Myfunc2: func [...] [...]
                  ]


This is pretty good practice anyway.

2. For any of these functions you want a better set of reporting on, defined 
the with the Logged marker word:

  MyObject1: [Myfunc1: logged func [...] [...]
                    Myfunc2: func [...] [...]
                  ]

  MyObject2: [Myfunc1: logged func [...] [...]
                    Myfunc2: logged func [...] [...]
                  ]


(So for some reason, I've decided not to get a better oversight on 
MyObject1/MyFunc2)

3. Before you make your first object call, run Volker's initialisation code:

Logging MyObject1
Logging MyObject2

(This replaces the 'logged marker word with some magic).

4. To do this, you need Volker's functions, available at:

 http://www.reboltech.com/library/scripts/error-logger.r

(this is a bit of a jumble of payload code, test code, examples and 
development history. You just need the functions from the comment "control 
your logging here" onwards.)

Thanks Volker!
Sunanda.

-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to