Sample code for 30+ languages & platforms
PureBasic

Enter/Leave Context in Logging

Demonstrates EnterContext and LeaveContext using the Chilkat Log API.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkLog.pb"

Procedure ChilkatExample()

    log.i = CkLog::ckCreate()
    If log.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Initialize the log object with an initial context tag:
    CkLog::ckClear(log,"myLog")

    ; Add some information..
    CkLog::ckLogInfo(log,"Hello, I'm here...")

    ; Open a sub-context
    CkLog::ckEnterContext(log,"abc")

    ; New information is now logged within the "abc" context.
    CkLog::ckLogInfo(log,"This is inside the abc context")
    CkLog::ckLogError(log,"File not found.")

    ; Perhaps open a new context...
    CkLog::ckEnterContext(log,"fileInfo")
    CkLog::ckLogData(log,"filename","something.txt")
    CkLog::ckLogData(log,"path","/somedir/xyz")
    CkLog::ckLeaveContext(log)

    ; Close the "abc" context.
    CkLog::ckLeaveContext(log)

    ; Examine the content of the log:
    Debug CkLog::ckLastErrorText(log)

    ; 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


    CkLog::ckDispose(log)


    ProcedureReturn
EndProcedure