C# 在网页上显示最后50行日志文件
我开发了一个asp.net c#网页,允许用户下载或查看服务器日志。 一旦选择了服务器和日志日期,他们就可以选择通过记事本++打开它,或者在文本框中查看部分日志。 部分要求是在文本框中只显示日志的最后50行,这是唯一我不确定的部分,有人能告诉我正确的方向吗 刚才我正在构建路径,然后设置textbox的text属性,如下所示:C# 在网页上显示最后50行日志文件,c#,asp.net,C#,Asp.net,我开发了一个asp.net c#网页,允许用户下载或查看服务器日志。 一旦选择了服务器和日志日期,他们就可以选择通过记事本++打开它,或者在文本框中查看部分日志。 部分要求是在文本框中只显示日志的最后50行,这是唯一我不确定的部分,有人能告诉我正确的方向吗 刚才我正在构建路径,然后设置textbox的text属性,如下所示: _PathFrom = @"\\" + ddlServer.SelectedItem.Value + @"\Logs\" + App
_PathFrom = @"\\" + ddlServer.SelectedItem.Value + @"\Logs\" + AppOrSession.SelectedItem.Value + @"\" + ddlKernel.SelectedItem.Value + @"\" + txtLogName.Text;
WebClient MyClient = new WebClient();
_Log = MyClient.DownloadString(_PathFrom);
txtLog.Text = _Log;
感谢使用此方法从文件中选取最后50行并显示到前端
公共静态IList GetLog(字符串logname,字符串numrows)
{
int-lineCnt=1;
列表行=新列表();
int最大线;
如果(!int.TryParse(numrows,out maxLines))
{
最大线=50;
}
字符串logFile=HttpContext.Current.Server.MapPath(“~/”+logname);
BackardReader br=新的BackardReader(日志文件);
而(!br.SOF)
{
string line=br.Readline();
line.Add(line+System.Environment.NewLine);
如果(lineCnt==maxLines)中断;
lineCnt++;
}
行。反向();
回流线;
}
问题出在哪里?读取文件?找到最后50行?如果你开始你的代码,如果你卡住了,回到这里会更好。也许这会有帮助:谢谢Maarten,看起来像我需要的,或者某种数组反转类型的东西什么是BackwardReader?
using this method pick last 50 lines from file and display to front end
public static IList<string> GetLog(string logname, string numrows)
{
int lineCnt = 1;
List<string> lines = new List<string>();
int maxLines;
if (!int.TryParse(numrows, out maxLines))
{
maxLines = 50;
}
string logFile = HttpContext.Current.Server.MapPath("~/" + logname);
BackwardReader br = new BackwardReader(logFile);
while (!br.SOF)
{
string line = br.Readline();
lines.Add(line + System.Environment.NewLine);
if (lineCnt == maxLines) break;
lineCnt++;
}
lines.Reverse();
return lines;
}