Sample code for 30+ languages & platforms
PowerBuilder

Enter/Leave Context in Logging

Demonstrates EnterContext and LeaveContext using the Chilkat Log API.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Log

loo_Log = create oleobject
li_rc = loo_Log.ConnectToNewObject("Chilkat.Log")
if li_rc < 0 then
    destroy loo_Log
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Initialize the log object with an initial context tag:
loo_Log.Clear("myLog")

// Add some information..
loo_Log.LogInfo("Hello, I'm here...")

// Open a sub-context
loo_Log.EnterContext("abc")

// New information is now logged within the "abc" context.
loo_Log.LogInfo("This is inside the abc context")
loo_Log.LogError("File not found.")

// Perhaps open a new context...
loo_Log.EnterContext("fileInfo")
loo_Log.LogData("filename","something.txt")
loo_Log.LogData("path","/somedir/xyz")
loo_Log.LeaveContext()

// Close the "abc" context.
loo_Log.LeaveContext()

// Examine the content of the log:
Write-Debug loo_Log.LastErrorText

// This is the output:

// myLog:
//   Hello, I'm here...
//   abc:
//     This is inside the abc context
//     File not found.
//     fileInfo:
//       filename: something.txt
//       path: /somedir/xyz
//     --fileInfo
//   --abc
// --myLog


destroy loo_Log