VXIlogResult OSBlog::ErrorLog(const VXIchar* moduleName, VXIunsigned errorID, const VXIchar* format, va_list args) { const VXIchar *finalModuleName = (moduleName && moduleName[0] ? moduleName : L"UNKNOWN"); // Output the log message LogEntry entry; entry.AddEntrySep(); entry += channelNum; entry.AddEntrySep(); entry += finalModuleName; entry.AddEntrySep(); entry += errorID; entry.AddEntrySep(); VXIlogResult rc = entry.AppendKeyValueVa(format, args); entry.Terminate(); VXIlogResult rc2 = WriteEntry(entry); if (rc2 != VXIlog_RESULT_SUCCESS) rc = rc2; // Want to warn the caller that NULL moduleName really isn't OK, but // logged it anyway if ((! moduleName) || (! moduleName[0])) rc = VXIlog_RESULT_INVALID_ARGUMENT; return rc; }
VXIlogResult OSBlog::EventLog(VXIunsigned eventID, const VXIchar* format, va_list args) { // Output the log message LogEntry entry; entry.AddEntrySep(); entry += channelNum; entry.AddEntrySep(); entry += L"EVENT"; entry.AddEntrySep(); entry += eventID; entry.AddEntrySep(); VXIlogResult rc = entry.AppendKeyValueVa(format, args); entry.Terminate(); // Don't write events to stdout VXIlogResult rc2 = WriteEntry(entry, false); if (rc2 != VXIlog_RESULT_SUCCESS) rc = rc2; return rc; }