Working with the GemStone transcript

gt4gemstone comes with a transcript on the GemStone side that can be inspected from the local image.

The current remote transcript is an instance of GtGemStoneInImageTranscript GtGemStoneTranscript subclass: #GtGemStoneInImageTranscript instanceVariableNames: 'contentStream enabled' classVariableNames: '' package: 'GToolkit-GemStone-Transcript' stored in the current SessionTemps Object subclass: #SessionTemps instanceVariableNames: '' classVariableNames: '' package: 'GToolkit-GemStone-Pharo-Stubs' instance. The default transcript instance is managed by GtGemStoneTranscriptHandler Object subclass: #GtGemStoneTranscriptHandler instanceVariableNames: '' classVariableNames: '' package: 'GToolkit-GemStone-Transcript' , and the class side of GtGemStoneTranscript Object subclass: #GtGemStoneTranscript instanceVariableNames: '' classVariableNames: '' package: 'GToolkit-GemStone-Transcript' provides utility methods for accessing it.

The transcript can be viewed locally using the Transcript view of a GemStone session.

A current limitation of this transcript is that it does not auto-update.

By default the transcript is disabled.

GtGemStoneTranscript current enable
  
GtGemStoneTranscript current disable
  

GtGemStoneTranscript>>#toggleStatusWithLogging toggleStatusWithLogging self isEnabled ifTrue: [ self lfShow: 'Deactivate GemStone transcript on current session'. self disable] ifFalse: [ self enable. self lfShow: 'Activate GemStone transcript on current session' ]. ^ self isEnabled switches the status of the transcript and also logs a message with the new status (enabled/disabled) to the transcript.

GtGemStoneTranscript current toggleStatusWithLogging
  

The class GtGemStoneTranscript Object subclass: #GtGemStoneTranscript instanceVariableNames: '' classVariableNames: '' package: 'GToolkit-GemStone-Transcript' defines the main API for writting to the transcript. in the protocol api - streaming.

GtGemStoneTranscript current 
	crShow: 'haba2'
  
GtGemStoneTranscript current clearContent
  

A different type of transcript can be registered using GtGemStoneTranscriptHandler>>#registerTranscriptClass: registerTranscriptClass: aClass ^ SessionTemps current at: self transcriptClassKeyName put: aClass name .

The class GtGemStoneRemoteTranscript Object subclass: #GtGemStoneRemoteTranscript instanceVariableNames: 'gemStoneSession transcriptProxy' classVariableNames: '' package: 'GToolkit-GemStone-Pharo-Transcript' provides locally a wrapper over the remote transcript

GtGemStoneSessionRegistry defaultSession remoteTranscript