www.pudn.com > UptoLog_SomeTestApplication.zip > UptoLogEvents.cs, change:2007-08-26,size:4914b


using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Windows.Forms; 
using UptoLog.Satellite; 
 
namespace SomeWindowsApplication 
{ 
    internal class UptoLogEvents 
    { 
        public static void SetupUptoLogEvents() 
        { 
            Log.LogException += LogException; 
 
            //Log.PreFatalErrorLog += PreFatalErrorLog; 
            //Log.PreErrorLog += PreErrorLog; 
            //Log.PreWarningLog += PreWarningLog; 
            //Log.PreTraceLog += PreTraceLog; 
            //Log.PreTimeMeasureLog += PreTimeMeasureLog; 
 
            //Log.FatalErrorLogged += FatalErrorLogged; 
            //Log.ErrorLogged += ErrorLogged; 
            //Log.WarningLogged += WarningLogged; 
            //Log.TraceLogged += TraceLogged; 
            //Log.TimeMeasureLogged += TimeMeasureLogged; 
 
        } 
 
        private static void LogException(object sender, LogExceptionEventArgs e) 
        { 
            MessageBox.Show(e.ExceptionObject.ToString(), "UptoLog error"); 
        } 
 
#region PreEvents 
 
        private static void PreFatalErrorLog(object sender, LogCancelEventArgs e) 
        { 
            DialogResult dr = MessageBox.Show("Log the data? " + Environment.NewLine + Environment.NewLine + MaxLinesCut(e.LoggedData), "Pre Fatal Error log", MessageBoxButtons.YesNo); 
            if (dr == DialogResult.No) 
            { 
                e.Cancel = true; 
            } 
        } 
 
        private static void PreErrorLog(object sender, LogCancelEventArgs e) 
        { 
            DialogResult dr = MessageBox.Show("Log the data? " + Environment.NewLine + Environment.NewLine + MaxLinesCut(e.LoggedData), "Pre Error log", MessageBoxButtons.YesNo); 
            if (dr == DialogResult.No) 
            { 
                e.Cancel = true; 
            } 
        } 
 
        private static void PreWarningLog(object sender, LogCancelEventArgs e) 
        { 
            DialogResult dr = MessageBox.Show("Log the data? " + Environment.NewLine + Environment.NewLine + MaxLinesCut(e.LoggedData), "Pre Warning log", MessageBoxButtons.YesNo); 
            if (dr == DialogResult.No) 
            { 
                e.Cancel = true; 
            } 
        } 
 
        private static void PreTraceLog(object sender, LogCancelEventArgs e) 
        { 
            DialogResult dr = MessageBox.Show("Log the data? " + Environment.NewLine + Environment.NewLine + MaxLinesCut(e.LoggedData), "Pre Trace log", MessageBoxButtons.YesNo); 
            if (dr == DialogResult.No) 
            { 
                e.Cancel = true; 
            } 
        } 
 
        private static void PreTimeMeasureLog(object sender, LogCancelEventArgs e) 
        { 
            DialogResult dr = MessageBox.Show("Log the data? " + Environment.NewLine + Environment.NewLine + MaxLinesCut(e.LoggedData), "Pre Time Measure log", MessageBoxButtons.YesNo); 
            if (dr == DialogResult.No) 
            { 
                e.Cancel = true; 
            } 
        } 
 
#endregion 
 
#region LoggedEvents 
 
        private static void FatalErrorLogged(object sender, LoggedEventArgs e) 
        { 
            ShowLoggedInfo(e as LoggedEventArgs); 
        } 
        private static void ErrorLogged(object sender, LoggedEventArgs e) 
        { 
            ShowLoggedInfo(e as LoggedEventArgs); 
        } 
        private static void WarningLogged(object sender, LoggedEventArgs e) 
        { 
            ShowLoggedInfo(e as LoggedEventArgs); 
        } 
        private static void TraceLogged(object sender, LoggedEventArgs e) 
        { 
            ShowLoggedInfo(e as LoggedEventArgs); 
        } 
        private static void TimeMeasureLogged(object sender, LoggedEventArgs e) 
        { 
            ShowLoggedInfo(e as LoggedEventArgs); 
        } 
 
        private static void ShowLoggedInfo(LoggedEventArgs e) 
        { 
            MessageBox.Show(e.DataLoggedMessage + Environment.NewLine + Environment.NewLine + 
                " -- " + e.LogGuid + " -- " + Environment.NewLine + Environment.NewLine + 
                MaxLinesCut(e.LoggedData) + Environment.NewLine, "Logged"); 
        } 
 
#endregion 
 
        private static string MaxLinesCut(string text) 
        { 
            if (string.IsNullOrEmpty(text)) 
            { 
                return text; 
            } 
 
            int textMaxLength = 50; 
            string[] textArray = text.Split("\n".ToCharArray()); 
            if (textArray != null && textArray.Length > textMaxLength) 
            { 
                StringBuilder textBuilder = new StringBuilder(); 
                for (int i = 0; i < textMaxLength; i++) 
                { 
                    textBuilder.Append(textArray[i]); 
                } 
                return textBuilder.ToString(); 
            } 
            else 
            { 
                return text; 
            } 
        } 
    } 
}