У меня есть файл журнала, из которого я пытаюсь получить некоторую информацию. Информация, которая мне нужна, находится в строке перед последней строкой, а также самая последняя строка может быть пустой. Так что на самом деле это строка перед последней строкой или две перед последней строкой, если последняя строка пуста.
Я знаю, как добраться до последней строки файла, используя:
var lastLine = File.ReadLines("SomeFile.log").Last();
Я также могу использовать Linq для пропуска строк, используя .skipWhile() или .skip(1), но не возвращаясь назад.
Я не знаю, как добраться до нужной мне строки. Это пример последних нескольких строк файла журнала (последняя строка пуста):
2021/05/02 23:47:57:008989 send_status_message(2) Info: "Stream status heartbeat sent: [SY 1.3.2 ]"
2021/05/02 23:47:57:225172 send_status_message(2) Info: "Received heartbeat response: [S ]"
2021/05/03 00:00:00:045055 set_log_dir(2) Info: "Changing log directory to /abc/def/logs/2021-05-03."
<blank-line>
Я пытаюсь получить отметку времени в этой строке (например, 2021/05/02 23:47:57:225172).
Reverse()
- person Jawad   schedule 02.06.2021ReadAllLines
и просто взять последние 2 строки - person Panagiotis Kanavos   schedule 02.06.2021