Sample code for 30+ languages & platforms
Unicode C++

Enter/Leave Context in Logging

Demonstrates EnterContext and LeaveContext using the Chilkat Log API.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkLogW.h>

void ChilkatSample(void)
    {
    CkLogW log;

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

    // Add some information..
    log.LogInfo(L"Hello, I'm here...");

    // Open a sub-context
    log.EnterContext(L"abc");

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

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

    // Close the "abc" context.
    log.LeaveContext();

    // Examine the content of the log:
    wprintf(L"%s\n",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
    }