2#include <winpr/tchar.h>
7int TestWLog(
int argc,
char* argv[])
12 wLogLayout* layout =
nullptr;
13 wLogAppender* appender =
nullptr;
14 char* tmp_path =
nullptr;
15 char* wlog_file =
nullptr;
21 if (!(tmp_path = GetKnownPath(KNOWN_PATH_TEMP)))
23 (void)fprintf(stderr,
"Failed to get temporary directory!\n");
27 root = WLog_GetRoot();
30 if (!WLog_SetLogAppenderType(root, WLOG_APPENDER_BINARY))
33 appender = WLog_GetLogAppender(root);
34 if (!WLog_ConfigureAppender(appender,
"outputfilename",
"test_w.log"))
36 if (!WLog_ConfigureAppender(appender,
"outputfilepath", tmp_path))
39 layout = WLog_GetLogLayout(root);
40 if (!WLog_Layout_SetPrefixFormat(root, layout,
"[%lv:%mn] [%fl|%fn|%ln] - "))
43 if (!WLog_OpenAppender(root))
46 logA = WLog_Get(
"com.test.ChannelA");
49 logB = WLog_Get(
"com.test.ChannelB");
52 if (!WLog_SetLogLevel(logA, WLOG_INFO))
54 if (!WLog_SetLogLevel(logB, WLOG_ERROR))
57 WLog_Print(logA, WLOG_INFO,
"this is a test");
58 WLog_Print(logA, WLOG_WARN,
"this is a %dnd %s", 2,
"test");
59 WLog_Print(logA, WLOG_ERROR,
"this is an error");
60 WLog_Print(logA, WLOG_TRACE,
"this is a trace output");
62 WLog_Print(logB, WLOG_INFO,
"just some info");
63 WLog_Print(logB, WLOG_WARN,
"we're warning a %dnd %s", 2,
"time");
64 WLog_Print(logB, WLOG_ERROR,
"we've got an error");
65 WLog_Print(logB, WLOG_TRACE,
"leaving a trace behind");
67 if (!WLog_CloseAppender(root))
70 if ((wlog_file = GetCombinedPath(tmp_path,
"test_w.log")))
71 winpr_DeleteFile(wlog_file);