Я пытаюсь отобразить содержимое файла Serilog "logs.txt" в моем приложении UWP. У меня он успешно отображается, но теперь я хочу, чтобы он автоматически обновлялся при создании новых событий журнала.
До сих пор я пытался создать прослушиватель событий ContentsChanged, который подписывался на изменения в файлах .txt на локальном файловом диске.
private async void CreateFileUpdater()
{
List<string> fileTypeFilter = new List<string>();
fileTypeFilter.Add(".txt");
var options = new Windows.Storage.Search.QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderByName, fileTypeFilter);
var query = ApplicationData.Current.LocalFolder.CreateFileQueryWithOptions(options);
//subscribe on query's ContentsChanged event
query.ContentsChanged += Query_ContentsChanged;
var files = await query.GetFilesAsync();
}
private void Query_ContentsChanged(Windows.Storage.Search.IStorageQueryResultBase sender, object args)
{
ReadFileAsync(); //This updates the bound variable to display in UI
}
Однако, похоже, что он не запускается должным образом при добавлении новых событий журнала в файл журнала. Поэтому мне было интересно, есть ли в самом Serilog событие, которого я просто не вижу в документации, или есть ли лучший способ обнаружить изменения в файлах или когда что-то добавляется в файлы. Я просто хочу, чтобы вызывалось какое-то событие, чтобы я мог вызвать функцию ReadFilesAsync () для обновления переменной, связанной с моим пользовательским интерфейсом.
Спасибо за любую помощь!