What I would like and that I wanted to SystemLogger was that the compiler for example could issue a log event and that we could build a tools to browse only such events and that I can click on it and jump right in the method with shadowing variables for example.
So to get something more than dead strings.

Le 19/4/16 15:55, Tudor Girba a écrit :
Hi,

I even reviewed this post :).

Of course, you can just use plain Announcements, but I still need to nuance 
your too strong statement. A framework is worthwhile when there is a recurrent 
need that it can serve. And when it comes to logging there are several such 
needs. For example:
- reusing typical events (e.g., logging an exception)
- reusing storage possibilities
- having a timestamp for events

I think it is worthwhile to have support out of the box for handling these.

Cheers,
Doru


On Apr 19, 2016, at 3:44 PM, Sven Van Caekenberghe <s...@stfx.eu> wrote:

You might want to read

  https://medium.com/concerning-pharo/lampsort-revisited-visualised-6652055ef858

that discusses object logging and what you can do with it.

My take on this is that if you write your code to produce log events (as 
Announcements), you can do whatever you want in the end. There is no real need 
to depend on some framework.

On 19 Apr 2016, at 15:34, Tudor Girba <tu...@tudorgirba.com> wrote:

Hi,

Beacon is being used systematically. We even said we will integrate it in the 
image for Pharo 5 at the end of last year, but after the agitated start of the 
year, I did not push it anymore to not increase the level of agitation.

The only class name that encountered some opposition was BoundedBeacon.

We also agreed that the only things we want from SystemLogger were the concrete 
connections to external storage. This was not done, but the idea was that we 
should first integrate them and then allow people to extend it with bindings to 
external storage.

I use Beacon on a regular basis, and I extended it recently with a couple of 
more Signal types that can capture exceptions and stack information. You now 
also have a better integration in the inspector to be able to start/pause an 
in-memory log stream. In the process I also added the possibility to remove 
Announcements from an AnnouncementSet and I would like to push this in Pharo 
6.0. One thing I would work on is to add to Annoucements the possibility of 
filtering announcements based on instances not just types. This is a longer 
term plan.

Another thing to do is to ensure that the log signals are not expensive to 
create. For example, the ExceptionSignal, ContextStackSignal and 
MethodStackSignal manipulate thisContext right at creation time, while this 
should happen only when we actually capture it in a BoundedBeacon to 
manipulate/store it in a specific way. This part should be refined.

@Dennis: it would be great to join efforts. The two frameworks look similar, 
but there are 2 significant differences:
1. SystemLogger has its own log events propagation mechanism, Beacon uses 
Announcements.
2. SystemLogger relies on levels of filtering, Beacon uses the mechanisms from 
Announcements to pick and choose at a fine grain level which log signals should 
be logged.

For reference:
- description: http://www.humane-assessment.com/blog/beacon/
- repository: http://www.smalltalkhub.com/#!/~Pharo/Beacon

Cheers,
Doru


On Apr 19, 2016, at 2:59 PM, stepharo <steph...@free.fr> wrote:



Le 18/4/16 18:28, Denis Kudriashov a écrit :
Hello.

Year ago Beacon and SystemLogger were announced. There was big discussion about 
them. And there were plans to provide single solution. What was done around 
that?
Nothing. We should have done it at Cambridge and we just discussed.
I did not like some Beacon class names because they are totally confusing.
What exactly should be merged between this libraries? Was Beacon or 
SystemLogger planned to be end solution?
We planned to merge SystemLogger into Beacon to use announcements
We definitely need legacy logging tool for Pharo. And I am going to work on 
this direction.
Personally I prefer metaphor and names from Beacon. But both libraries 
implement similar idea.
Remember that you want to have them short especially for the main one. This is 
why in SystemLogger
we have Log instead of what it is LogObject if I remember correctly.
Best regards,
Denis

--
www.tudorgirba.com
www.feenk.com

“Live like you mean it."



--
www.tudorgirba.com
www.feenk.com

"Problem solving efficiency grows with the abstractness level of problem 
understanding."








Reply via email to