static LWMsgBool LwSmLogIpc ( LWMsgLogLevel level, const char* pszMessage, const char* pszFunction, const char* pszFilename, unsigned int line, void* pData ) { LW_SM_LOG_LEVEL smLevel = LW_SM_LOG_LEVEL_DEBUG; LWMsgBool result = LWMSG_FALSE; switch (level) { case LWMSG_LOGLEVEL_ALWAYS: smLevel = LW_SM_LOG_LEVEL_ALWAYS; break; case LWMSG_LOGLEVEL_ERROR: smLevel = LW_SM_LOG_LEVEL_ERROR; break; case LWMSG_LOGLEVEL_WARNING: smLevel = LW_SM_LOG_LEVEL_WARNING; break; case LWMSG_LOGLEVEL_INFO: smLevel = LW_SM_LOG_LEVEL_INFO; break; case LWMSG_LOGLEVEL_VERBOSE: smLevel = LW_SM_LOG_LEVEL_VERBOSE; break; case LWMSG_LOGLEVEL_DEBUG: smLevel = LW_SM_LOG_LEVEL_DEBUG; break; case LWMSG_LOGLEVEL_TRACE: smLevel = LW_SM_LOG_LEVEL_TRACE; break; } if (LwRtlLogGetLevel() >= smLevel) { if (pszMessage) { LwSmLogMessage( smLevel, "lwsm-ipc", pszFunction, pszFilename, line, pszMessage); } result = LWMSG_TRUE; } else { result = LWMSG_FALSE; } return result; }
static VOID LogCallback( IN OPTIONAL PVOID Context, IN LW_RTL_LOG_LEVEL Level, IN OPTIONAL PCSTR ComponentName, IN PCSTR FunctionName, IN PCSTR FileName, IN ULONG LineNumber, IN PCSTR Format, IN ... ) { DWORD dwError = 0; PSTR formattedMessage = NULL; LW_RTL_LOG_LEVEL maxLevel = LwRtlLogGetLevel(); va_list argList; va_start(argList, Format); dwError = LwAllocateStringPrintfV(&formattedMessage, Format, argList); va_end(argList); if (!dwError) { size_t length = strlen(formattedMessage); if ((length > 0) && (Format[length-1] != '\n')) { if (maxLevel >= LW_RTL_LOG_LEVEL_DEBUG) { printf("[%s() %s:%d] %s\n", FunctionName, FileName, LineNumber, formattedMessage); } else { printf("%s\n", formattedMessage); } } else { if (maxLevel >= LW_RTL_LOG_LEVEL_DEBUG) { printf("[%s() %s:%d] %s", FunctionName, FileName, LineNumber, formattedMessage); } else { printf("%s", formattedMessage); } } } LW_SAFE_FREE_STRING(formattedMessage); }
static LWMsgBool RegSrvLogIpc ( LWMsgLogLevel level, const char* pszMessage, const char* pszFunction, const char* pszFilename, unsigned int line, void* pData ) { RegLogLevel regLevel = REG_LOG_LEVEL_DEBUG; LWMsgBool result = LWMSG_FALSE; switch (level) { case LWMSG_LOGLEVEL_ALWAYS: regLevel = REG_LOG_LEVEL_ALWAYS; break; case LWMSG_LOGLEVEL_ERROR: regLevel = REG_LOG_LEVEL_ERROR; break; case LWMSG_LOGLEVEL_WARNING: regLevel = REG_LOG_LEVEL_WARNING; break; case LWMSG_LOGLEVEL_INFO: regLevel = REG_LOG_LEVEL_INFO; break; case LWMSG_LOGLEVEL_VERBOSE: regLevel = REG_LOG_LEVEL_VERBOSE; break; case LWMSG_LOGLEVEL_DEBUG: regLevel = REG_LOG_LEVEL_DEBUG; break; case LWMSG_LOGLEVEL_TRACE: default: regLevel = REG_LOG_LEVEL_TRACE; break; } result = (LwRtlLogGetLevel() >= regLevel); if (pszMessage && result) { LW_RTL_LOG_RAW(regLevel, "lwreg-ipc", pszFunction, pszFilename, line, "%s", pszMessage); } return result; }
static LWMsgBool LWNetSrvLogIpc ( LWMsgLogLevel level, const char* pszMessage, const char* pszFunction, const char* pszFilename, unsigned int line, void* pData ) { DWORD dwLevel = 0; LWMsgBool result; switch (level) { case LWMSG_LOGLEVEL_ALWAYS: dwLevel = LWNET_LOG_LEVEL_ALWAYS; break; case LWMSG_LOGLEVEL_ERROR: dwLevel = LWNET_LOG_LEVEL_ERROR; break; case LWMSG_LOGLEVEL_WARNING: dwLevel = LWNET_LOG_LEVEL_WARNING; break; case LWMSG_LOGLEVEL_INFO: dwLevel = LWNET_LOG_LEVEL_INFO; break; case LWMSG_LOGLEVEL_VERBOSE: dwLevel = LWNET_LOG_LEVEL_VERBOSE; break; case LWMSG_LOGLEVEL_DEBUG: dwLevel = LWNET_LOG_LEVEL_DEBUG; break; case LWMSG_LOGLEVEL_TRACE: dwLevel = LWNET_LOG_LEVEL_TRACE; break; } result = LwRtlLogGetLevel() >= dwLevel; if (pszMessage && result) { LW_RTL_LOG_RAW(dwLevel, "netlogon-ipc", pszFunction, pszFilename, line, "%s", pszMessage); } return result; }