Пример #1
0
        private static void WriteDataToLog(Device device, string content, RecordType recordType, bool flush = false)
        {
            // To Log File
            DateTime      now        = DateTime.Now;
            StreamWriter  fileWriter = RecordManager.GetLogFileStream(device, now);
            string        time       = string.Format("[{0:HH:mm:ss}] ", now);
            StringBuilder sb         = new StringBuilder(time);

            sb.Append(string.Format(" <{0}> ", recordType.ToString()));
            sb.Append(content);
            string line = sb.ToString();

            fileWriter.WriteLine(line);

            // Flush Control.
#if DEBUG
            fileWriter.Flush();
#else
            if (flush)
            {
                fileWriter.Flush();
            }
#endif

            if (flushCtrlCount % 10 == 0)
            {
                fileWriter.Flush();
            }
            flushCtrlCount = (flushCtrlCount + 1) % 5;

            // To Log Console
            if (ExistLoggerConsoleProc())
            {
                string deviceKey = device.Id.ToLower();
                if (LoggerClient.Contains(deviceKey))
                {
                    logger.Send(deviceKey, line);
                }
            }
        }