I'd like to mention my TraceEvent and TraceMonitor classes, again,
as it supports most of what you guys are talking about. I believe I
have resolved my package naming, so you can find these classes in
the SqueakSource's Cryptography repository in the OCapPresents
package.
TraceEvent is a single loggable event class with timestamp ivar,
generic msg ivar, filterable domain ivar, remote ivar. These ivars
are converted to strings during logEvent handling in the monitor, so
the msg ivar can hold a user-defined loggable event objects that
convert to a preferred string. There would be no need to write
separate wrappers for each use.
The monitor can have various domains enabled or disabled: use
TraceMonitor>>#enableDomain:/#disableDomain: with a symbol. My
use has a bunch of convenience methods for my domain use, but a new
domain can be added and one can use the #etrace:msg: variety, which
accepts the domain as the first parameter and the domain specific
msg object as the second parameter. The monitor can write to
multiple trace streams.
I am missing logLevel, though I tried to add severity but it is
non-functional. It would be easy enough to add. I do not know if
this aligns with the Announcements solution you all are talking
about or if it meets all your needs. It is sounding like it meets
most of the logging domain information, it is filterable, has
multiple output streams, uses the event system so it is lightly
couple to the domain.
Whatever solution is arrived at, I hope it is a shared
infrastructure service in squeak as well, along with Fuel, then I
would likely switch to using the standard.
On 04/27/2016 08:16 AM, Denis
Kudriashov wrote:
--
Robert
. .. ... ^,^