| 39 | } |
| 40 | |
| 41 | void XnLogFileWriter::WriteEntry(const XnLogEntry* pEntry) |
| 42 | { |
| 43 | // make sure file is open |
| 44 | if (m_fLogFile == XN_INVALID_FILE_HANDLE) |
| 45 | { |
| 46 | return; |
| 47 | } |
| 48 | |
| 49 | // write timestamp and severity |
| 50 | const XnUInt32 nMaxMessageSize = 2047; |
| 51 | XnChar strBuffer[nMaxMessageSize + 1]; |
| 52 | |
| 53 | XnUInt32 nMessageLen = 0; |
| 54 | XnUInt32 nChars = 0; |
| 55 | xnOSStrFormat(strBuffer + nMessageLen, nMaxMessageSize - nMessageLen, &nChars, "%9llu\t%-10s\t%s\t", pEntry->nTimestamp, pEntry->strSeverity, pEntry->strMask); |
| 56 | nMessageLen += nChars; |
| 57 | |
| 58 | if (m_bWriteLineInfo) |
| 59 | { |
| 60 | // write line info |
| 61 | XnChar fileName[XN_FILE_MAX_PATH]; |
| 62 | XnStatus nRetVal = xnOSGetFileName(pEntry->strFile, fileName, sizeof(fileName)); |
| 63 | if (nRetVal == XN_STATUS_OK) |
| 64 | { |
| 65 | xnOSStrFormat(strBuffer + nMessageLen, nMaxMessageSize - nMessageLen, &nChars, "%s\t%d\t", fileName, pEntry->nLine); |
| 66 | nMessageLen += nChars; |
| 67 | } |
| 68 | } |
| 69 | |
| 70 | xnOSStrFormat(strBuffer + nMessageLen, nMaxMessageSize - nMessageLen, &nChars, "%s\n", pEntry->strMessage); |
| 71 | nMessageLen += nChars; |
| 72 | |
| 73 | xnOSWriteFile(m_fLogFile, strBuffer, nMessageLen); |
| 74 | } |
| 75 | |
| 76 | void XnLogFileWriter::WriteUnformatted(const XnChar* strMessage) |
| 77 | { |
no test coverage detected