예제 #1
0
        /// <summary>
        ///
        /// </summary>
        public static void EndAllRemainingLogs()
        {
            try
            {
                bool       GotLock = false;
                List <int> keys    = new List <int>();
                DebugMessageLogger.LogEventLevel("DebugMessageLogger_Extra - Ending all remaining logs", 1);
                try
                {
                    Monitor.TryEnter(ExtantLogs_Lock, 2000, ref GotLock);

                    if (!GotLock)
                    {
                        DebugMessageLogger.LogEventLevel("DebugMessageLogger_Extra - Could not get Lock on ExtantLogs Dictionary", 1);
                        return;
                    }

                    keys = new List <int>(ExtantLogs.Keys);

                    DebugMessageLogger.LogEventLevel("DebugMessageLogger_Extra - Ending all remaining logs - " + keys.Count.ToString() + " found to end", 1);
                }
                catch (Exception ker)
                {
                    Kinesense.Interfaces.DebugMessageLogger.LogError(ker);
                }
                finally
                {
                    if (GotLock)
                    {
                        Monitor.Exit(ExtantLogs_Lock);
                    }
                }

                foreach (int i in keys)
                {
                    EndExtraLog(i);
                }
            }
            catch (Exception ker)
            {
                Kinesense.Interfaces.DebugMessageLogger.LogError(ker);
            }
        }
예제 #2
0
        public static void LogToExtraLog(int number, string ToLog)
        {
            try
            {
                bool GotLock = false;

                try
                {
                    Monitor.TryEnter(ExtantLogs_Lock, 2000, ref GotLock);

                    if (!GotLock)
                    {
                        DebugMessageLogger.LogEventLevel("DebugMessageLogger_Extra - Could not get Lock on ExtantLogs Dictionary", 1);
                        return;
                    }
                    if (!ExtantLogs.ContainsKey(number))
                    {
                        DebugMessageLogger.LogEventLevel("DebugMessageLogger_Extra - Could not find extra log number in ExtantLogs Dictionary - (" + number.ToString() + ")", 1);
                        return;
                    }

                    WriteToFileWithTime(ToLog, ExtantLogs[number].fullName);
                }
                catch (Exception ker)
                {
                    Kinesense.Interfaces.DebugMessageLogger.LogError(ker);
                }
                finally
                {
                    if (GotLock)
                    {
                        Monitor.Exit(ExtantLogs_Lock);
                    }
                }
            }
            catch (Exception ker)
            {
                Kinesense.Interfaces.DebugMessageLogger.LogError(ker);
            }
        }