Ejemplo n.º 1
0
 /// <summary>
 /// Запись информации о исключении в лог
 /// </summary>
 /// <param name="message">Событие</param>
 /// <param name="eventID">Код события</param>
 /// <param name="eventCategory">Категория события</param>
 /// <param name="e">Исключение</param>
 public static void WriteError( string message, EventLogerID eventID, EventLogerCategory eventCategory, Exception e )
 {
     Write(message, EventLogerType.Error, (int)eventID, eventCategory, e);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Запись информации с типом ошибка в системный лог
 /// </summary>
 /// <param name="message">Событие</param>
 /// <param name="eventID">Код события</param>
 /// <param name="eventCategory">Категория события</param>
 public static void WriteError( string message, EventLogerID eventID, EventLogerCategory eventCategory )
 {
     WriteToLog(message, EventLogerType.Error, eventID, eventCategory);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Запись события в системный лог
        /// </summary>
        /// <param name="message">Событие</param>
        /// <param name="eventType">Тип события</param>
        /// <param name="eventID">Код события</param>
        /// <param name="eventCategory">Категория события</param>
        /// <param name="exc">Исключение</param>
        private static void Write( string message, EventLogerType eventType, int eventID, EventLogerCategory eventCategory, Exception exc, params Object[] p )
        {
            if ( !_isWork )
                return;
            StringBuilder finalMessage = new StringBuilder();
            finalMessage.AppendLine( message );
            finalMessage.AppendLine( "------------------------------------------------------------------------" );

            //Пытаемся получить SiteContext, так как HttpContext.Current.Items не всегда есть в сборке
            SiteContext vSiteContext = null;
            var contextExist = true;

            try
            {
                vSiteContext = SiteContext.Current;
            }
            catch
            {
                contextExist = false;
            }

            if (vSiteContext == null)
            {
                if (contextExist) finalMessage.AppendLine( "Профиль не заполнен!" );

            }
            else if ( SiteContext.Current.IsAnonymous )
            {
                finalMessage.AppendLine( "Пользователь не авторизован." );
            }
            else
            {
                finalMessage.AppendLine( "Пользователь: " + SiteContext.Current.User.UserId.ToString() + " - " + SiteContext.Current.UserDisplayName );
            }
            try
            {
                finalMessage.AppendLine("URL: " + HttpContext.Current.Request.RawUrl);
                finalMessage.AppendLine("ContentType: " + HttpContext.Current.Request.ContentType);
                finalMessage.AppendLine("HttpMethod: " + HttpContext.Current.Request.HttpMethod);
                finalMessage.AppendLine("Browser: " + HttpContext.Current.Request.UserAgent);
                finalMessage.AppendLine("Url: " + HttpContext.Current.Request.Url);
                finalMessage.AppendLine("UrlReferrer: " + HttpContext.Current.Request.UrlReferrer);
                finalMessage.AppendLine("UserHostAddress: " + HttpContext.Current.Request.UserHostAddress);
                finalMessage.AppendLine("UserHostName: " + HttpContext.Current.Request.UserHostName);
            }
            catch (Exception)
            {
                //Данный try catch развернут т.к. когда объект Request не существует его нельзя проверить на = null
            }

            if ( exc != null )
            {
                finalMessage.AppendLine(ExceptionToString(exc, false));
            }

            StackTrace st = new StackTrace( true );
            if (exc == null && p.Length == 0)
            {
                finalMessage.AppendLine( "------------------------------------------------------------------------" );
                finalMessage.AppendLine("Final stack trace:");
                finalMessage.AppendLine(st.ToString());
            }

            eventLog[!SiteContext.isFranchNameAttached() ?ConfigurationManager.AppSettings["InternalFranchName"] : SiteContext._internalFranchName].WriteEntry(finalMessage.ToString(), ConvertType( eventType ), Convert.ToInt32( eventID ), Convert.ToInt16( eventCategory ) );
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Запись информации с типом предупреждение в системный лог
 /// </summary>
 /// <param name="message">Событие</param>
 /// <param name="eventID">Код события</param>
 /// <param name="eventCategory">Категория события</param>
 public static void WriteWarning( string message, EventLogerID eventID, EventLogerCategory eventCategory )
 {
     WriteToLog( message, EventLogerType.Warning, eventID, eventCategory );
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Запись события в системный лог
 /// </summary>
 /// <param name="message">Событие</param>
 /// <param name="eventType">Тип события</param>
 /// <param name="eventID">Код события</param>
 /// <param name="eventCategory">Категория события</param>
 public static void WriteToLog( string message, EventLogerType eventType, EventLogerID eventID, EventLogerCategory eventCategory, params Object[] p )
 {
     Write( message, eventType, (int)eventID, eventCategory, null, p);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Запись информации с типом информация в системный лог
 /// </summary>
 /// <param name="message">Событие</param>
 /// <param name="eventID">Код события</param>
 /// <param name="eventCategory">Категория события</param>
 /// <param name="eventCategory">Выдавать ли стектрейс</param>
 public static void WriteInformation(string message, EventLogerID eventID, EventLogerCategory eventCategory, params Object[] p)
 {
     WriteToLog(message, EventLogerType.Information, eventID, eventCategory, p);
 }