Beispiel #1
0
        private void WriteLog(object instance, string message, LogStatusEnum logStatus, params object[] args)
        {
            if (args != null && args.Length != 0)
            {
                message = string.Format(message, args);
            }

            message = string.Format(LINE_FORMAT, DateTime.Now.ToString(DATE_FORMAT), logStatus, GetCallerMemberName(instance), message);

            lock (_locker)
            {
                try
                {
                    var dirPath = Path.GetDirectoryName(_logSource);
                    if (!Directory.Exists(dirPath))
                    {
                        Directory.CreateDirectory(dirPath);
                    }

                    File.AppendAllText(_logSource, message, Encoding.Default);
                }
                catch
                {
                    if (Debugger.IsAttached)
                    {
                        Debugger.Break();
                    }
                }
            }

#if DEBUG
            Debug.WriteLine(message);
#endif
        }
Beispiel #2
0
        /// <summary>
        /// Saves the XSockets Log
        /// </summary>
        /// <param name="status"></param>
        /// <param name="message"></param>
        /// <param name="exception"></param>
        public static void Log(LogStatusEnum status, string message, Exception exception)
        {
            var logger = NLog.LogManager.GetCurrentClassLogger();

            switch (status)
            {
            case LogStatusEnum.Info:
                logger.Info(exception, message);
                break;

            case LogStatusEnum.Warning:
                logger.Warn(exception, message);
                break;

            case LogStatusEnum.Error:
                logger.Error(exception, message);
                break;

            case LogStatusEnum.Debug:
                logger.Debug(exception, message);
                break;
            }

            //Console.WriteLine(String.Format("[{0}] {1}: {2}",
            //    DateTime.Now, status, message));
        }
Beispiel #3
0
 /// <summary>
 /// Write a message in the LOG.
 /// </summary>
 ///
 /// <param name="instance">
 /// Instance to the caller (enter the keyword 'this').
 /// </param>
 ///
 /// <param name="logStatus">
 /// Log status (use LogStatus static class).
 /// </param>
 ///
 /// <param name="message">
 /// Log entry status.
 /// </param>
 ///
 /// <param name="args">
 /// Optional parameters to format the message to write.
 /// </param>
 public void WriteLine(object instance, LogStatusEnum logStatus, string message, params object[] args)
 {
     if (this.IsEnabled)
     {
         this.WriteLog(instance, message, logStatus, args);
     }
 }
Beispiel #4
0
    private void CheckApplicationState(SiteDeletionLog delLog)
    {
        if (ApplicationInstanceGUID == SystemHelper.ApplicationInstanceGUID)
        {
            return;
        }

        // Restart of the application
        LogStatusEnum progressLog = delLog.GetProgressState();

        if (progressLog != LogStatusEnum.Finish)
        {
            delLog.LogDeletionState(LogStatusEnum.UnexpectedFinish, ResHelper.GetAPIString("Site_Delete.Applicationrestarted", "<strong>Application has been restarted and the logging of the site delete process has been terminated. Please make sure that the site is deleted. If it is not, please repeate the deletion process.</strong><br />"));
        }
    }
    /// <summary>
    /// Logs progress state.
    /// </summary>
    /// <param name="type">Type of the message</param>
    /// <param name="message">Message to be logged</param>
    private void LogProgressState(LogStatusEnum type, string message)
    {
        message = HTMLHelper.HTMLEncode(message);

        string logMessage  = null;
        string messageType = null;

        switch (type)
        {
        case LogStatusEnum.Info:
        case LogStatusEnum.Start:
            logMessage = message;
            break;

        case LogStatusEnum.Error:
        {
            messageType = "##ERROR##";
            logMessage  = "<strong>" + ResHelper.GetFileString("Global.ErrorSign", "ERROR:") + "&nbsp;</strong>" + message;
        }
        break;

        case LogStatusEnum.Warning:
        {
            messageType = "##WARNING##";
            logMessage  = "<strong>" + ResHelper.GetFileString("Global.Warning", "WARNING:") + "&nbsp;</strong>" + message;
        }
        break;

        case LogStatusEnum.Finish:
        case LogStatusEnum.UnexpectedFinish:
            logMessage = "<strong>" + message + "</strong>";
            break;
        }

        logMessage = messageType + logMessage;

        // Log to context
        Info.LogContext.AppendText(logMessage);
    }
Beispiel #6
0
    /// <summary>
    /// Logs progress state.
    /// </summary>
    /// <param name="type">Type of the message</param>
    /// <param name="message">Message to be logged</param>
    public void LogProgressState(LogStatusEnum type, string message)
    {
        string[] status = InstallInfo.InstallLog.Split(new string[] { InstallInfo.SEPARATOR }, StringSplitOptions.None);

        // Wrong format of the internal status
        if (status.Length != 4)
        {
            InstallInfo.InstallLog = "F" + InstallInfo.SEPARATOR + "Wrong internal log." + InstallInfo.SEPARATOR + InstallInfo.SEPARATOR;
        }

        switch (type)
        {
            case LogStatusEnum.Info:
                status[0] = "I";
                status[1] = message + "<br />" + status[1];
                break;

            case LogStatusEnum.Error:
                status[0] = "F";
                status[2] += "<strong>" + ResHelper.GetFileString("Global.ErrorSign") + "</strong>" + message + "<br />";
                break;

            case LogStatusEnum.Warning:
                status[3] += "<strong>" + ResHelper.GetFileString("Global.Warning") + "</strong>" + message + "<br />";
                break;

            case LogStatusEnum.Finish:
                status[0] = "F";
                status[1] = "<strong>" + message + "</strong><br /><br />" + status[1];
                break;
        }

        InstallInfo.InstallLog = status[0] + InstallInfo.SEPARATOR + status[1] + InstallInfo.SEPARATOR + status[2] + InstallInfo.SEPARATOR + status[3];
    }
    /// <summary>
    /// Logs progress state.
    /// </summary>
    /// <param name="type">Type of the message</param>
    /// <param name="message">Message to be logged</param>
    public void LogProgressState(LogStatusEnum type, string message)
    {
        string[] status = InstallInfo.InstallLog.Split(new[] { InstallInfo.SEPARATOR }, StringSplitOptions.None);

        // Wrong format of the internal status
        if (status.Length != 4)
        {
            InstallInfo.InstallLog = String.Format("F{0}Wrong internal log.{0}{0}", InstallInfo.SEPARATOR);
        }

        message = HTMLHelper.HTMLEncode(message);

        switch (type)
        {
            case LogStatusEnum.Info:
                status[0] = "I";
                status[1] = String.Format("{0}<br />{1}", message, status[1]);
                break;

            case LogStatusEnum.Error:
                status[0] = "F";
                status[2] = String.Format("{0}<strong>{1}</strong>{2}<br />", status[2], ResHelper.GetFileString("Global.ErrorSign"), message);
                break;

            case LogStatusEnum.Warning:
                status[3] = String.Format("{0}<strong>{1}</strong>{2}<br />", status[3], ResHelper.GetFileString("Global.Warning"), message);
                break;

            case LogStatusEnum.Finish:
                status[0] = "F";
                status[1] = String.Format("<strong>{0}</strong><br /><br />{1}", message, status[1]);
                break;
        }

        InstallInfo.InstallLog = status[0] + InstallInfo.SEPARATOR + status[1] + InstallInfo.SEPARATOR + status[2] + InstallInfo.SEPARATOR + status[3];
    }
        // This function is called when the Start Oven button in the GUI is
        // clicked. It sets the value of the global variable check to 3, and
        // changes the Start Oven button color to Green.
        private void StartOvenButton_Click(object sender, EventArgs e)
        {
            UserEmailTextBox.Enabled = true;
            UserPhoneTextBox.Enabled = true;
            MaxTemperatureNumericUpDown.Enabled = true;
            HoldTimeAtPeakNumericUpDown.Enabled = true;
            CoolMethodComboBox.Enabled = true;
            SwitchToAirTemperatureNumericUpDown.Enabled = true;

            if (CheckParameters(ParameterTypeEnum.Oven) !=
                    ErrorCodeEnum.NoError)
            {
                if (String.IsNullOrWhiteSpace(directory))
                    SaveLogFileDirectoryTextBox.BackColor = Color.MistyRose;
                else
                    SaveLogFileDirectoryTextBox.BackColor = Color.White;

                MessageBox.Show(
                    "Check and complete highlighted oven run" +
                    " parameters!",
                    "   ERROR!");

                return;
            }

            if (String.IsNullOrWhiteSpace(directory))
            {
                SaveLogFileDirectoryTextBox.BackColor = Color.MistyRose;
                MessageBox.Show(
                    "Please choose a directory to save log " +
                    "file in!",
                    "   " + "ERROR!");

                return;
            }
            else
                SaveLogFileDirectoryTextBox.BackColor = Color.White;

            if (IsParametersChanged() ||
                (temperature_start_check == ComponentCheckStatusEnum.Set &&
                 oven_start_check == ComponentCheckStatusEnum.None))
            {
                UpdateDirectory();
                MessageBox.Show("Please double check all values, just to be " +
            "sure. Click the Start Oven button when ready.", "   Check Values");

                CopyParameters();
                oven_start_check = ComponentCheckStatusEnum.Set;
                return;
            }

            UserNameTextBox.ReadOnly = true;
            UserNameTextBox.BorderStyle = BorderStyle.FixedSingle;
            UserEmailTextBox.ReadOnly = true;
            UserEmailTextBox.BorderStyle = BorderStyle.FixedSingle;
            UserPhoneTextBox.ReadOnly = true;
            UserPhoneTextBox.BorderStyle = BorderStyle.FixedSingle;
            UserPhoneTextBox.BackColor = Color.White;
            BatchIDCodeTextBox.ReadOnly = true;
            BatchIDCodeTextBox.BorderStyle = BorderStyle.FixedSingle;
            //MaxTemperatureNumericUpDown.ReadOnly = true;
            //MaxTemperatureNumericUpDown.BorderStyle = BorderStyle.FixedSingle;
            //HoldTimeAtPeakNumericUpDown.ReadOnly = true;
            //HoldTimeAtPeakNumericUpDown.BorderStyle = BorderStyle.FixedSingle;
            OvenNameTextBox.ReadOnly = true;
            OvenNameTextBox.BorderStyle = BorderStyle.FixedSingle;
            CoolMethodComboBox.Enabled = false;
            //SwitchToAirTemperatureNumericUpDown.ReadOnly = true;
            //SwitchToAirTemperatureNumericUpDown.BorderStyle = BorderStyle.FixedSingle;

            if (IsParametersChanged())
                UpdateDirectory();

            if (oven_check != ComponentCheckStatusEnum.Running)
            {
                Start_Oven_Time = DateTime.Now;
                OvenStartTimeTextBox.Text = Start_Oven_Time.ToString("T");
                graph_check++;
            }

            CopyParameters();

            int count = 0;

            for (int i = 0; i < MAX_CHANCOUNT; i++)
            {
                if (((CheckBox)this.Controls["Channel" +
                    i.ToString("#0") + "CheckBox"]).Enabled == true &&
                    ((CheckBox)this.Controls["Channel" +
                    i.ToString("#0") + "CheckBox"]).Checked == true)
                {
                    count++;
                }
            }

            if (count == 0)
            {
                not_showing_temp = true;
            }

            if (not_showing_temp == true)
            {
                ResetThemocoupleInputStatusCheckboxes();
                not_showing_temp = false;
            }

            // Start thread once the Start Oven button is clicked for the
            // first time.
            if (oven_start_check == ComponentCheckStatusEnum.Set)
            {
                oven_control_thread = new Thread(new ThreadStart(PID_control));
                oven_control_thread.Start();
                oven_start_check = ComponentCheckStatusEnum.Running;

                CopyParameters();

                if (temperature_start_check != ComponentCheckStatusEnum.Running)
                {
                    temperature_read_thread = new Thread(new ThreadStart(ReadTemperature));
                    temperature_read_thread.Start();
                    temperature_start_check = ComponentCheckStatusEnum.Running;

                    if (log_check != ComponentCheckStatusEnum.Running)
                    {
                        log_thread = new Thread(new ThreadStart(UpdateLog));
                        log_check = ComponentCheckStatusEnum.Running;
                        log_state = LogStatusEnum.NotLogged;
                        log_thread.Start();
                    }

                    read_check = ComponentCheckStatusEnum.Running;
                    ReadTC_Button.BackColor = Color.GreenYellow;
                    StopTC_Button.BackColor = default(Color);
                }
            }

            oven_check = ComponentCheckStatusEnum.Running;

            StopOvenButton.BackColor = default(Color);
            StartOvenButton.BackColor = Color.GreenYellow;
        }
        // This function is called when the Read TC button in the GUI is
        // clicked. It sets the value of the global variable read_check to 1,
        // changes the Read TC button color to Green, and resets the color of
        // the Stop TC button to default, so that the user knows which button
        // was last clicked.
        private void ReadThermoCouplesbutton_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrWhiteSpace(WarningTextBox.Text))
            {
                if (not_showing_temp == true)
                    ResetThemocoupleInputStatusCheckboxes();
                UpdateWarningDisplay("", ErrorCodeEnum.NoError);
            }

            if (temperature_start_check == ComponentCheckStatusEnum.None &&
                oven_start_check == ComponentCheckStatusEnum.None)
                ResetInputControls();

            if (CheckParameters(ParameterTypeEnum.ThermoCouples) != ErrorCodeEnum.NoError)
            {
                MessageBox.Show(
                    "Check and complete highlighted thermocouple" +
                    " read parameters!",
                    "   ERROR!");

                return;
            }

            UpdateDirectory();
            if (String.IsNullOrWhiteSpace(directory))
            {
                SaveLogFileDirectoryTextBox.BackColor = Color.MistyRose;

                MessageBox.Show(
                    String.Format(
                        "Please choose a directory to save log file in!{0}" +
                        "Also add other (optional) parameters, like the batch " +
                        "code and email address...",
                        Environment.NewLine),
                    "   " + "ERROR!");

                return;
            }
            else
            {
                SaveLogFileDirectoryTextBox.BackColor = Color.White;
            }

            if (IsParametersChanged())
            {
                UpdateDirectory();
                MessageBox.Show(
                    "Please double check all values, just to be " +
                    "sure. Click the Read TC button when ready.",
                    "   Check Values");

                CopyParameters();
                return;
            }

            UserNameTextBox.ReadOnly = true;
            UserNameTextBox.BorderStyle = BorderStyle.FixedSingle;
            BatchIDCodeTextBox.ReadOnly = true;
            BatchIDCodeTextBox.BorderStyle = BorderStyle.FixedSingle;
            OvenNameTextBox.ReadOnly = true;
            OvenNameTextBox.BorderStyle = BorderStyle.FixedSingle;
            UserEmailTextBox.Enabled = false;
            UserPhoneTextBox.Enabled = false;
            SwitchToAirTemperatureNumericUpDown.Enabled = false;
            MaxTemperatureNumericUpDown.Enabled = false;
            HoldTimeAtPeakNumericUpDown.Enabled = false;
            CoolMethodComboBox.Enabled = false;

            UserPhoneTextBox.BackColor = Color.White;

            // Create and start the threads when the Read TC button is clicked
            // for the first time. Log thread and the temperature read thread
            // are the two threads started here
            if (temperature_start_check == ComponentCheckStatusEnum.None)
            {
                CopyParameters();

                Start_Temp_Time = DateTime.Now;
                Start_Log_File_Time = Start_Temp_Time;
                temperature_read_thread = new Thread(new ThreadStart(ReadTemperature));
                temperature_read_thread.Start();
                temperature_start_check = ComponentCheckStatusEnum.Running;

                if (log_check != ComponentCheckStatusEnum.Running)
                {
                    log_thread = new Thread(new ThreadStart(UpdateLog));
                    log_check = ComponentCheckStatusEnum.Running;
                    log_state = LogStatusEnum.NotLogged;
                    log_thread.Start();
                }
            }

            if (IsParametersChanged())
                UpdateDirectory();

            if (read_check != ComponentCheckStatusEnum.Running)
                Start_Temp_Time = DateTime.Now;

            read_check = ComponentCheckStatusEnum.Running;

            warning_time = 20;

            ReadTC_Button.BackColor = Color.GreenYellow;

            StopTC_Button.BackColor = default(Color);
        }
        // This function checks to see if the user changed any of the
        // parameters after stopping the oven or the thermocouple reader.
        private bool IsParametersChanged()
        {
            if (User_copy != UserNameTextBox.Text ||
            UserEmail_copy != UserEmailTextBox.Text ||
            BatchCode_copy != BatchIDCodeTextBox.Text ||
            UserPhone_copy != UserPhoneTextBox.Text ||
            MaxTemp_copy != (float)MaxTemperatureNumericUpDown.Value ||
            HoldTime_copy != new TimeSpan(0,(int)HoldTimeAtPeakNumericUpDown.Value,0) ||
            CoolMethod_copy != CoolMethodComboBox.SelectedIndex.ToString() ||
            directory_copy != directory ||
            SwitchTemp_copy != (float)SwitchToAirTemperatureNumericUpDown.Value ||
            StopTemp_copy != (float)StopCoolingTemperatureNumericUpDown.Value ||
            OvenName_copy != OvenNameTextBox.Text)
            {
                if (BatchCode_copy != BatchIDCodeTextBox.Text)
                    log_state = 0;
                return true;
            }

            return false;
        }
        // This function updates the temperature log text file. It returns if
        // the number of channels is invalid. Otherwise, it uses a while loop to
        // output temperature readings to a .txt file in the same directory as
        // the program folder. It shows an error if there is an open channel.
        public void UpdateLog()
        {
            string subject = "";
            string body = "";

            string separator = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
                            "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
                            "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
                            "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

            while (log_check == ComponentCheckStatusEnum.Running &&
                   log_thread.ThreadState != ThreadState.AbortRequested)
            {
                if (log_state == LogStatusEnum.NotLogged)
                {
                    log_state = LogStatusEnum.Logged;

                    string[] text1 =
                        {"Temperature and events log file.",
                            " ",
                            "Created on " +
                            Start_Log_File_Time.ToString(format),
                            " ",
                            "Temperature read approx. every 5 " +
                            "seconds in degrees Celsius.",
                            " ",
                            " "};

                    System.IO.File.WriteAllLines(directory, text1);

                    string text2 = "Time\t";

                    for (int i = 0; i < MAX_CHANCOUNT; i++)
                    {
                        text2 += String.Format("Channel{0}", i) + "\t";
                    }

                    using (StreamWriter sw = File.AppendText(directory))
                    {
                        sw.WriteLine(text2);
                        sw.WriteLine(" ");
                    }
                }

                if (HeatingStarted && !HeatingStarted_logged)
                {
                    string temp = DateTime.Now.ToString("T") + "\t\t" +
                            "HEATING STARTED!";

                    using (StreamWriter sw = File.AppendText(directory))
                    {
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                        sw.WriteLine(temp);
                        sw.WriteLine("\t\t\tUser: "******"\t\t\tBatch code: " + BatchCode_copy);
                        sw.WriteLine("\t\t\tMax. Temperature: " + MaxTemp_copy);
                        sw.WriteLine("\t\t\tHold Time: " + HoldTime_copy);
                        sw.WriteLine("\t\t\tCooling method: " + CoolMethod_copy);
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                    }

                    subject = "Heating has started on " + OvenName_copy +
                        " oven!";

                    body = User_copy + ",\n\n" + subject +
                        "\n\nParameters are: \nBatch Code: " + BatchCode_copy +
                        "\nMax.Temp: " + MaxTemp_copy +
                        "\nHold Time: " + HoldTime_copy +
                        "\nCooling Method: " + CoolMethod_copy +
                        "\nTime: " + OvenStartTime_copy + "\n";
                    SendEmail(subject, body);
                    HeatingStarted_logged = true;
                }

                else if (HeatingStopped && !HeatingStopped_logged)
                {
                    string temp = DateTime.Now.ToString("T") + "\t\t" +
                            "HEATING STOPPED!";

                    using (StreamWriter sw = File.AppendText(directory))
                    {
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                        sw.WriteLine(temp);
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                    }

                    subject = "Heating has stopped on " + OvenName_copy +
                        " oven!";
                    body = User_copy + ",\n\n" + subject;
                    SendEmail(subject, body);
                    HeatingStopped_logged = true;
                }

                else if (MaxTempPlateauReached && !MaxTempReached_logged)
                {
                    string temp = DateTime.Now.ToString("T") + "\t\t" +
                            "MAX. TEMP REACHED!";

                    using (StreamWriter sw = File.AppendText(directory))
                    {
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                        sw.WriteLine(temp);
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                    }

                    subject = "Max. temp reached on " + OvenName_copy +
                        " oven!";
                    body = User_copy + ",\n\n" + subject;
                    SendEmail(subject, body);
                    MaxTempReached_logged = true;
                }

                else if (CoolingStarted && !CoolingStarted_logged)
                {
                    string temp = DateTime.Now.ToString("T") + "\t\t" +
                            "COOLING STARTED!";

                    using (StreamWriter sw = File.AppendText(directory))
                    {
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                        sw.WriteLine(temp);
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                    }

                    subject = "Cooling has started on " + OvenName_copy +
                        " oven!";
                    body = User_copy + ",\n\n" + subject;
                    SendEmail(subject, body);
                    CoolingStarted_logged = true;
                }

                else if (IsCriticalApplicationError && !IsCriticalApplicationError_logged)
                {
                    string temp = DateTime.Now.ToString("T") + "\t\t" +
                            "CRITICAL ERROR!";

                    using (StreamWriter sw = File.AppendText(directory))
                    {
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                        sw.WriteLine(temp);
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                    }

                    subject = "Critical error on " + OvenName_copy + " oven!";
                    body = User_copy + ",\n\n" + subject + "\n" +
                        CriticalErrorMessage;
                    SendEmail(subject, body);
                    IsCriticalApplicationError_logged = true;
                }

                else if (OvenRunDone && !OvenRunDone_logged)
                {
                    string temp = DateTime.Now.ToString("T") + "\t\t" +
                            "OVEN RUN COMPLETE!";

                    using (StreamWriter sw = File.AppendText(directory))
                    {
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                        sw.WriteLine(temp);
                        sw.WriteLine("\t\t\tUser: "******"\t\t\tBatch code: " + BatchCode_copy);
                        sw.WriteLine("\t\t\tMax. Temperature: " + MaxTemp_copy);
                        sw.WriteLine("\t\t\tHold Time: " + HoldTime_copy);
                        sw.WriteLine("\t\t\tCooling method: " + CoolMethod_copy);
                        sw.WriteLine(" ");
                        sw.WriteLine(separator);
                        sw.WriteLine(" ");
                    }

                    subject = "Oven run completed on " + OvenName_copy + " oven!";
                    body = User_copy + ",\n\n" + subject + "\n";
                    SendEmail(subject, body);

                    //Stop Logging -- Oven run is done
                    log_check = ComponentCheckStatusEnum.None;
                }

                string text3 = DateTime.Now.ToString("T") + "\t";

                for (int i = 0; i < MAX_CHANCOUNT; i++)
                {
                    text3 += CurrentTemperatures[i].ToString() + "\t";
                }

                using (StreamWriter sw = File.AppendText(directory))
                {
                    sw.WriteLine(text3);
                }

                Thread.Sleep(4800);
            }

            OvenRunDone = false;
            OvenRunDone_logged = false;
        }
Beispiel #12
0
 /// <summary>
 /// Write a message in the LOG.
 /// </summary>
 ///
 /// <param name="instance">
 /// Instance to the caller (enter the keyword 'this').
 /// </param>
 ///
 /// <param name="logStatus">
 /// Log entry status.
 /// </param>
 ///
 /// <param name="message">
 /// Message to write.
 /// </param>
 ///
 /// <param name="args">
 /// Optional parameters to format the message to write.
 /// </param>
 public void WriteLine(object instance, LogStatusEnum logStatus, string message, params object[] args)
 {
     _service.WriteLine(instance, logStatus, message, args);
 }
    /// <summary>
    /// Logs progress state.
    /// </summary>
    /// <param name="type">Type of the message</param>
    /// <param name="message">Message to be logged</param>
    public void LogProgressState(LogStatusEnum type, string message)
    {
        message = HTMLHelper.HTMLEncode(message);

        string logMessage = null;
        string messageType = null;

        switch (type)
        {
            case LogStatusEnum.Info:
            case LogStatusEnum.Start:
                logMessage = message;
                break;

            case LogStatusEnum.Error:
            {
                messageType = "##ERROR##";
                logMessage = "<strong>" + ResHelper.GetFileString("Global.ErrorSign", "ERROR:") + "&nbsp;</strong>" + message;
            }
                break;

            case LogStatusEnum.Warning:
            {
                messageType = "##WARNING##";
                logMessage = "<strong>" + ResHelper.GetFileString("Global.Warning", "WARNING:") + "&nbsp;</strong>" + message;
            }
                break;

            case LogStatusEnum.Finish:
            case LogStatusEnum.UnexpectedFinish:
                logMessage = "<strong>" + message + "</strong>";
                break;
        }

        logMessage = messageType + logMessage;

        // Log to context
        Info.LogContext.AppendText(logMessage);
    }