У меня есть простое приложение, которое позволяет назвать его «X», который запускает внешнюю программу «Y», используя System.Diagnostic.Process.Application «Y» while выполнение записи журнала приложения в текстовый файл.Как написать собственный журнал в richtextbox из файла журнала, созданного внешней программой в C#
Теперь я хочу прочитать это приложение «Y», и если журнал содержит несколько слов, которые трудно для пользователя сделать, и заменить их на мои собственные слова и добавить их в богатое текстовое поле. Мой текущий код выглядит следующим образом и присоединяет слова, как они написаны в логфайл
private void timerLog_Tick(object sender, EventArgs e)
{
//logpath is the path to that log file
if (File.Exists(logpath))
{
Stream stream = File.Open(logpath, FileMode.Open,FileAccess.Read, FileShare.ReadWrite);
StreamReader streamReader = new StreamReader(stream);
string str = streamReader.ReadToEnd();
//rtblog is my RichTextBox
rtbLog.Text = str;
rtbLog.SelectionStart = rtbLog.Text.Length;
rtbLog.ScrollToCaret();
streamReader.Close();
stream.Close();
}
}
Файл журнала сам гласит
Mon Sep 12 19:22:56 2016 Application engine version 2.0.2016 was initiated Mon Sep 12 19:22:56 2016 Windows version 6.2 (Windows 8 or greater) Mon Sep 12 19:22:56 2016 System: 64 bits system Mon Sep 12 19:22:56 2016 checking application drivers Mon Sep 12 19:22:56 2016 Drivers not found Mon Sep 12 19:22:56 2016 Attempting to perform a task Mon Sep 12 19:22:56 2016 The task failed Mon Sep 12 19:22:56 2016 Process failed,The program is exiting
Теперь я хотел бы заменить каждую строку выше с моими собственными пользовательскими словами
Я пытался что-то вроде этого
if (str.LastIndexOf("Application engine version 2.0.2016 was initiated")>0)
{
rtbLog.SelectedText= rtbLog.SelectedText+"Application engine Started";
}
else if (str.LastIndexOf("Drivers not found")>0)
{
rtbLog.SelectedText= rtbLog.SelectedText+"Drivers were not found navigate to settings Menu to install them";
}.....
Остаток if продолжается, но этот код входит в цикл печати одной первой строки
пожалуйста, никаких манипуляций?
Заранее спасибо
Его очень печально, что ничего не придумали в RichTextBox, используя свой собственный код rtbLog.Text = ул; был прокомментирован и из кода! –
Можете ли вы обновить код до того, который вы используете в своем приложении, чтобы я мог посмотреть. –
Обновленный код читается следующим образом: http://pastebin.com/93XxnF77 –