簡體   English   中英

使用ASP.NET MVC分頁在Web頁面上顯示日志文件信息

[英]Display log file information on a Web page with ASP.NET MVC paging

我將日志存儲在txt文件中,格式如下。

====== 8/4/2010 10:20:45 AM ================================= ========

處理捐贈

====== 8/4/2010 10:21:42A M ================================= ========

將信息發送到服務器

====== 8/4/2010 10:21:43 AM ================================= ========

我需要將這些行解析為一個列表,其中“====”行之間的信息被計為一個記錄,以便在ASP.NET MVC中使用分頁顯示在網頁上。

示例:第一個記錄條目是

====== 8/4/2010 10:20:45 AM ================================= ================

處理捐贈

到目前為止我沒有運氣。 我該怎么做?

在讀取文件時,您可以檢查行是否以=====結尾

var sBuilder = new StringBuilder()
bool lineEnd = false;
var items = new List<string>();
string currentLine = String.Empty
using(var file = new StringReader("log.txt"))
{
  while( (currentLine = file.ReadLine()) != null)
  {
    if(currentLine.EndsWith("===="))
    {
        items.Add(sBuilder.ToString());
        sBuilder.Clear();
    }
    else
        sBuilder.Append(currentLine);
  }
}

它有點冗長,但可能會給你一些想法

所以......在我的另一個答案中忽略冗長的代碼。 而是使用這兩行奇跡:

string texty = "=====........"; //File data
var matches = Regex.Matches(texty, @"={6}(?<Date>.+)={41}\s*(?<Message>.+)");

var results = matches.Cast<Match>().Select(m => new {Date = m.Groups["Date"], Message = m.Groups["Message"]});

我總是忘記正則表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM