目前我正在使用MetroLog。它使用文件流将信息记录到日志文件中。
是否有可能在MetroLog的文件流使用时读取StorageFile的内容
using (var randomAccessStream = await localFile.OpenReadAsync())
{
...
}
此代码将导致Access Denied
异常。该文件存在,看起来它具有正确的权限,因为如果我禁用日志记录它可以工作。
答案 0 :(得分:1)
我遇到了同样的问题。我的解决方案如下(我的所有代码都放在设备实现中,而不是放在pcl中):
在Metrolog初始化时,保存Streaming文件目标以供以后使用:
private static StreamingFileTarget _target;
...
LogManagerFactory.DefaultConfiguration.AddTarget(LogLevel.Trace, LogLevel.Fatal, _target);
在打开/读取Metrolog的当前日志文件之前,关闭文件目标的所有打开文件:
await _target.CloseAllOpenFiles();
your code...
将在下一个日志命令中再次打开当前日志文件。