创建 .txt 文件——UWP Windows 10 应用程序 C#

在我的测试应用程序中,我想输出一个 .txt 文件或 .etl 登录应用程序目录的用户。


例如,我想测试的一件事是相机的曝光。我希望结果在 .txt 文件或日志 .etl 文件中返回。


var exposureControl = _mediaCapture.VideoDeviceController.ExposureControl;

var outOfRangeValue = 0; // milliseconds

if (exposureControl.Min.Millieseconds > outOfRangeValue) {

    textFile.add("Passed: Minimum Exposure" + exposureControl.Min.Millieseconds.ToString() + " is greater than " +  outOfRangeValue.ToString()");

} else {

    textFile.add("Failed: Minimum Exposure " + exposureControl.Min.Millieseconds.ToString() + " should not be less than " + outOfRangeValue.ToString() + " bc app will crash");

}

然后在使用此 Windows 10 UWP 应用的设备上,创建的文本文件或 .etl 日志应包含以下字符串之一:


Passed: Minimum Exposure 0.06 is greater than 0


或者


Failed: Minimum Exposure 0.06 should not be less than 0


因此,我基本上需要一些充当我的假textFile.add("")cmd 的东西。


什么是最好的方法来做到这一点?


我研究过诸如 MetroLog 和 Serilog 之类的记录器。和微软的日志示例:https : //github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Logging。另一个 Microsoft 示例:https : //code.msdn.microsoft.com/windowsapps/Logging-Sample-for-Windows-0b9dffd7#content。还有这个博主的例子:http : //cryclops.com/2014/01/not-so-stupid-simple-logging-for-windows-store-apps-in-cvb/


我已经尝试实现 MetroLog 和上面引用的两个 Microsoft 示例,但我无法确定文件的创建位置。无论如何,我什至不确定这些是否是我想要的结果的最佳方法。


侃侃无极
浏览 254回答 2
2回答

慕尼黑的夜晚无繁华

如果您想在没有 Logger 的情况下执行此操作,您可以执行以下操作:private async Task AddTextToFile(String textToSave){    var appFolder = Windows.Storage.ApplicationData.Current.LocalFolder;    var file = await appFolder.CreateFileAsync("exposure.txt",         Windows.Storage.CreationCollisionOption.OpenIfExists);    await Windows.Storage.FileIO.AppendTextAsync(file, textToSave + Environment.NewLine);    // Look in Output Window of Visual Studio for path to file    System.Diagnostics.Debug.WriteLine(String.Format("File is located at {0}", file.Path.ToString()));}private async void Button_Click(object sender, RoutedEventArgs e){    await AddTextToFile(String.Format("MinimumExposure {0}", DateTime.Now.Millisecond.ToString()));}正如 kennyzx 所说,此文件位于隐藏目录中,因此我添加了一个 Debug.WriteLine() 命令,以便在以调试模式运行应用程序时,您可以在 Visual Studio 的输出窗口中看到文件的位置。如果您使用此代码,您可能希望删除该行。

蝴蝶不菲

生成的文件MetroLog在应用程序的appdata 文件夹中创建,即C:\Users\<username>\AppData\Local\Packages\<package family name of your app>\LocalState.在 Windows 资源管理器中展开路径时,注意下面的AppData文件夹C:\Users\<username>是隐藏的,因此您需要在资源管理器中选中“显示隐藏文件”。
打开App,查看更多内容
随时随地看视频慕课网APP