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 << #GtGemStoneInImageTranscript slots: { #contentStream . #enabled }; package: 'GToolkit-GemStone-Transcript' stored in the current SessionTemps Object << #SessionTemps slots: {}; tag: 'Stubs'; package: 'GToolkit-GemStone-Pharo' instance. The default transcript instance is managed by GtGemStoneTranscriptHandler Object << #GtGemStoneTranscriptHandler slots: {}; package: 'GToolkit-GemStone-Transcript' , and the class side of GtGemStoneTranscript Object << #GtGemStoneTranscript slots: {}; 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 << #GtGemStoneTranscript slots: {}; 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 << #GtGemStoneRemoteTranscript slots: { #gemStoneSession . #transcriptProxy }; tag: 'Transcript'; package: 'GToolkit-GemStone-Pharo' provides locally a wrapper over the remote transcript

GtGemStoneSessionRegistry defaultSession remoteTranscript