Ejemplo n.º 1
0
 public void DoAppend(LoggingEvent loggingEvent)
 {
     if (loggingEvent.LoggerName == "NHibernate.SQL")
     {
         SqlCount.Value++;
         var sql = (string)loggingEvent.MessageObject;
         if (Sql.Value.Length > limit)
         {
             Sql.Value = "";
         }
         // BasicFormatter выбрасывает исключение при попытке форматировать некоторые запросы, например, вида "(select a from b)"
         Sql.Value = new BasicFormatter().Format(SqlProcessor.ExtractArguments(sql)) + Environment.NewLine + Sql.Value;
         if (Stack)
         {
             Sql.Value = new StackTrace() + Environment.NewLine + Sql.Value;
         }
     }
     else
     {
         if (loggingEvent.Level < Level.Warn)
         {
             return;
         }
         ErrorCount.Value++;
         if (Error.Length > limit)
         {
             Error = "";
         }
         Error += layout.Format(loggingEvent) + Environment.NewLine;
     }
 }