Göran: Yesterday night we have a very good discussion about logging in IRC. I was asking about Logging in order to add log to SqueakDBX. I think there were some interesting questions:

1) Should a framework, like SqueakDBX, log? Or this is a responsibility of the "user" of the framework ?

Here, I will say: I think framework must log because it helps the framework team to find out bugs or give them information about it. I think this is something good. Obviously the framework should only log things related to the framework itself and not logic related with the user of it.

2) If so, should it be optional ?
I think i must.  I mean, user can enable or disable it.

3) Suppose I want very much performance, and the user disable logging. Which is the best way of doing this?

4) No matter 1) to 3), framework's user can log. I mean, it can do something like [xxxx] on: DBXError do:[ self log 'something' ]

In fact, I decided (actually I must discuss with the team) to use Logging and SimpleLog in SqueakDBX.

Any opinion about this?
 

On Tue, Nov 25, 2008 at 8:21 AM, Göran Krampe <goran@krampe.se> wrote:
Hi!

Mariano Martinez Peck wrote:
ok. If you say so, I will try it as soon as I have time and I will let you know my feedback and any question I have with it.

I recommend (of course) using "SimpleLog", and optionally with the
"Logging" frontend from Keith.

SimpleLog was developed in the Gjallar project and it has the following
goodness:

- Simple. :)
- Uses the standard syslog levels.
- Has a UDP based syslog backend. Fast and very useful.
- Has a Morphic viewer which is quite nice and has filtering abilities.
- Has log file rotation.
- Can still log to Transcript but it is protected by a mutex.

If you need to use external monitoring/alarm tools and/or suddenly need
to deploy an app "clustered" then the syslog backend is very nice to
have. Otherwise you end up with one log file per "clustered image" which
is not so nice.

If you use the "Logging" frontend (which I haven't used myself) then you
of course have options to choose backends.

regards, Göran