Sample code for 30+ languages & platforms
Swift

Enter/Leave Context in Logging

Demonstrates EnterContext and LeaveContext using the Chilkat Log API.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    let log = CkoLog()!

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

    // Add some information..
    log.logInfo(message: "Hello, I'm here...")

    // Open a sub-context
    log.enterContext(tag: "abc")

    // New information is now logged within the "abc" context.
    log.logInfo(message: "This is inside the abc context")
    log.logError(message: "File not found.")

    // Perhaps open a new context...
    log.enterContext(tag: "fileInfo")
    log.logData(tag: "filename", message: "something.txt")
    log.logData(tag: "path", message: "/somedir/xyz")
    log.leaveContext()

    // Close the "abc" context.
    log.leaveContext()

    // Examine the content of the log:
    print("\(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

}