The inspector is currently used to view the object log in the
development vm...for large object logs it makes sense to filter the log
before viewing.
For external viewing I have a Seaside Component that allows one to
filter and sort the object log entries as well as delete entries from
the ObjectLog ...
Since GemStone runs with multiple vms, you can use a separate vm to look
at the shared object log ... ..
The RCQueue (and OrderedCollections for that matter) in GemStone don't
incur performance hits as the collection grows over time (unlike growing
OrderedCollections in a normal client Smalltalk), but then GemStone was
designed with very large collections in mind:)...
GemStone was designed to handle collections and object graphs that can
be larger than available memory, so you can forget about the object log
until start running out of repository space (basically disk space) ...
For the Pharo, I would think that the fact that an Object log could
accumulate a whole lot of stuff is real limiting factor...there'd need
to be a process that continuously pruned objects from the object log
over time .... so a thread safe linked list might be a better choice for
the Object log collection ...
Dale
Schwab,Wilhelm K wrote:
You mention something for viewing the log in-image. Dumb question: can it be
left running and safely forgotten, or does it suffer under high load? Is there
a way to view the log from outside of a running image? The latter is less
important in proportion to the robustness of the in-image viewer. One thing
that I often miss is DebugView; it would be really nice to find an equivalent
on Linux.
Bill
________________________________________
From: pharo-project-boun...@lists.gforge.inria.fr
[pharo-project-boun...@lists.gforge.inria.fr] On Behalf Of Dale Henrichs
[dhenr...@vmware.com]
Sent: Wednesday, September 08, 2010 3:58 PM
To: Pharo-project@lists.gforge.inria.fr
Subject: Re: [Pharo-project] simpleLog in pharo?
Stéphane Ducasse wrote:
I will chekc I would like an object that represent wht is logged.
do you have that?
I do not want strings strings strings.
On Sep 8, 2010, at 12:39 PM, Göran Krampe wrote:
On 09/08/2010 11:45 AM, Stéphane Ducasse wrote:
+ 1
If someone could look at simpleLog (because we need to change this situation
and get a good logging mechanism)
We need much better infrastructure.... and we will build them.
I wrote SimpleLog (in the Gjallar project) and feel free to pick/use it - it is
small and maps easily to Syslog (I copied the levels that syslog has) and also
has a syslog emitter which is *very* nice when you build Seaside apps and want
to run multiple images with a load balancer in front for example.
There are several logging libs but... well, I think SimpleLog strikes a nice
balance of functionality and simplicity.
regards, Göran
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
In GLASS we have the ObjectLog ... the implementation is based upon
RCQueue's (so that multiple vm's can concurrently add entries), but it
is can be thought of as an OrderedCollection ObjectLogEntry instances:
Object subclass: 'ObjectLogEntry'
instVarNames: #( pid stamp label
priority object tag)
classVars: #( ObjectLog ObjectQueue)
classInstVars: #()
poolDictionaries: #[]
inDictionary: ''
category: 'Bootstrap-Gemstone'
The pid and ObjectQueue are GemStone-specific ...
- stamp DateAndTime
- label String
- priority Integer
- object Object
- tag Object
GLASS has an ObjectLog component for viewing the object log ...
inspector for in-image-viewing. There are currently 7 priorities defined:
fatal - 1
error - 2
warn - 3
info - 4
debug - 5
trace - 6
transcript - 7
Yes Transcript messages are added to the ObjectLog ... very convenient ...
Entries are added to the log via something like the following:
(ObjectLogEntry
info: 'label string'
object: #( #hello 'world') addToLog.
For GLASS I have a handful of subclasses of ObjectLogEntry that store
things like a continuation and/or the url that caused the error...
Dale
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project