+1!

That's I wanted to come to, just step by step, by introducing level as an object first, then format, and so on.�


--

Best regards,


Dennis Schetinin



2013/5/6 Norbert Hartl <norbert@hartl.name>

Am 06.05.2013 um 08:00 schrieb Denis Kudriashov <dionisiydk@gmail.com>:

Hello.

What about logging levels?

I like "logInfo:", "logDebug:", "logTrace:". Or maybe it is better to split log with levels: "self log info:", "self log debug:", "self log trace:"

I think that opens a can of worms. What Stef wants is a "say something" method that is easy to use and commonly useful. Adding logging levels is a specialized form of logging that is not commonly useful, it's just commonly used in less reflective environments.�
So my proposal would be to have an equivalent to "self log" where you can return your own logging facility on which you can do "self log info: 'something'".�

I changed my kind of logging some time ago. I just log objects. A log object isn't much more than to put it on top of a collection. While I'm not using strings for logging I have objects where I can attach all my use case dependent stuff. You could even put something like a log level information in those objects.�
I log Errors as well as progress state objects,etc. It is easy to process the whole log collection (now or afterwards) because all necessary state is still there.�
Another reason why I don't like strings for that is that I put the log messages as json in elasticsearch/mongo because I want to query them to find errornous behaviour. Well, sometimes I do both: Store it in a database and write it to disk. Because I don't convert it to a string at first possible time I can do that easily.�

We don't put sources in files so we shouldn't put log information only there. Make logging information a first class citizen!

Norbert

Best regards,
Denis

2013/5/5 St�phane Ducasse <stephane.ducasse@inria.fr>
Hi guys

Stupidly I introduced log: a while ago to replace Transcript show:. Now is the current situation.

I still want to remove all the use of Transcript show:

Now since I thought I did a mistake with log: because it overload Integer>>log: I introduced trace: and traceCr:

Now I do not like traceCr: because it is not a cool message.

So what do we do:

� � � � 1) we use crLog:, logCr:
� � � � and deprecated log:


� � � � 2) we use crTrace:, trace: and traceCr:

I really prefer solution 1 but I would like to hear from you.

Stef