Example #1
0
        public Records_ByWebLog()
        {
            Map = records => records
                  .Select(record => new
            {
                record,
                data = record.Data.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries)
            })
                  .Where(record => record.data.Length >= 4 && record.data[0].Length == 14)
                  .Select(record => new
            {
                record,
                dateTimeOffset = LogIndexerUtils.TryParseExact(record.data[0], "yyyyMMddHHmmss")
            })
                  .Where(record => record.dateTimeOffset.HasValue)
                  .Select(record => new
            {
                record.record.record.DataSourceId,
                Date       = record.dateTimeOffset.Value,
                Level      = record.record.data[1],
                Controller = record.record.data[2],
                Message    = string.Join(System.Environment.NewLine, record.record.data.Except(new[]
                {
                    record.record.data[0],
                    record.record.data[1],
                    record.record.data[2]
                }))
            });

            StoreAllFields(FieldStorage.Yes);
        }
Example #2
0
 public WebLogError_Transformer()
 {
     TransformResults = records => records
                        .Select(record => TransformWith <Record, WebLog>("WebLog/Transformer", record).FirstOrDefault())
                        .Where(webLog => webLog != null && webLog.Level == "Error")
                        .Select(webLog => new { webLog, errors = webLog.Message.Split(new[] { "--->" }, StringSplitOptions.RemoveEmptyEntries) })
                        .Where(record => record.errors.Length >= 1)
                        .Select(record => new
     {
         record.webLog.Date,
         record.webLog.Controller,
         Errors = LogIndexerUtils.Select(record.errors, error => new
         {
             Type    = Regex.Match(error, @"(?<type>[a-zA-Z\.]+)\:").Groups["type"].Value,
             Message = error
         })
     });
 }