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 <C_CkLogW.h>

void ChilkatSample(void)
    {
    HCkLogW log;

    log = CkLogW_Create();

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

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

    //  Open a sub-context
    CkLogW_EnterContext(log,L"abc");

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

    //  Perhaps open a new context...
    CkLogW_EnterContext(log,L"fileInfo");
    CkLogW_LogData(log,L"filename",L"something.txt");
    CkLogW_LogData(log,L"path",L"/somedir/xyz");
    CkLogW_LeaveContext(log);

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

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


    CkLogW_Dispose(log);

    }