我正在尝试从日志文件中的每一行文本中删除任何“换行符”字符。
下面是我正在使用 Stream Reader 阅读的示例条目:-
<![LOG[Raising event:
[SMS_CodePage(850), SMS_LocaleID(2057)]
instance of SoftDistProgramStartedEvent
{
AdvertisementId = "000216F6";
ClientID = "GUID:B55C2757-CBAE-468E-B54F-46CAF2ECF68F";
CommandLine = "\"C:\\WINNT\\system32\\cscript.exe\" /nologo Shutdown_Desktops_Overnight.vbs";
DateTime = "20130211080211.784000+000";
MachineName = "DWD*****";
PackageName = "0000073C";
ProcessID = 2516;
ProgramName = "Shutdown Desktops Overnight";
SiteCode = "S00";
ThreadID = 3640;
UserContext = "NT AUTHORITY\\SYSTEM";
WorkingDirectory = "C:\\WINNT\\system32\\CCM\\Cache\\0000073C.1.System\\";
};
]LOG]!><time="08:02:11.800+000" date="02-11-2013" component="execmgr" context="" type="1" thread="3640" file="event.cpp:522">
在实际的日志文件中,这显示为文件中的一行,“换行符”替换为正方形。
我正在使用以下代码读取日志条目:-
using (StreamReader sr = new StreamReader(@"C:\Documents and Settings\riversd\Desktop\Logfile2.log"))
{
string Line;
while ((Line = sr.ReadLine()) != null)
{
}
}
问题是,当 StreamReader 从 txt 文件中读取此条目时,它会在以下位置中断:-
"<![LOG[Raising event:"
我需要即时删除此条目中的所有换行符。我不想将整个文件读入内存然后删除它们,我宁愿在阅读时处理每个日志。
是否可以?