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