在 android 中,我无法在使用 serilog.sinks.RollingFile 时创建文件夹或将日志详细信息保存在特定文件中
In android, I am not able to create a folder or save the log details in a specific file when using serilog.sinks.RollingFile
为了在 xamarin 项目中获取错误日志详细信息,我在我的项目中安装了 serilog.sinks.xamarin
nuget 包。在 android 中,我尝试 serilog.sinks.rollingfile
将日志详细信息存储在文档文件夹中。这是我的代码
Log.Logger=new LoggerConfiguration().WriteTo.RollingFile(Path.Combine(Environment.DirectoryDocuments,"AndroidErrorLog.txt"))
.WriteTo.AndroidLog().CreateLogger();
执行项目后,如果我检查文档文件夹,则没有创建任何文件,也没有找到任何日志详细信息。谁能告诉我我犯了什么错误以及如何解决这个问题?
Log.Logger = new LoggerConfiguration()
.WriteTo.File(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "JCA_log-{Date}.txt")
, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] [{SourceContext}] {Message}{NewLine}{Exception}")
.WriteTo.AndroidLog()
.CreateLogger();
摘自 PhillipOGorman,来源如下:
我确实遇到了这个问题。我认为是构造函数中的某些东西似乎阻止了 Serilog 创建文件。
注意 #1:提供的 Serilog 代码依赖于 Sinks.File 和 Sinks.Xamarin.Droid Serilog 库。
注意#2:他使用:
Android.OS.Environment.ExternalStorageDirectory.AbsolutePath
当引用文件将写入的位置时,但是,
Environment.GetFolderPath(Environment.SpecialFolder.Personal)
工作正常(加上它将它打包在您的应用程序沙箱中。)
为了在 xamarin 项目中获取错误日志详细信息,我在我的项目中安装了 serilog.sinks.xamarin
nuget 包。在 android 中,我尝试 serilog.sinks.rollingfile
将日志详细信息存储在文档文件夹中。这是我的代码
Log.Logger=new LoggerConfiguration().WriteTo.RollingFile(Path.Combine(Environment.DirectoryDocuments,"AndroidErrorLog.txt"))
.WriteTo.AndroidLog().CreateLogger();
执行项目后,如果我检查文档文件夹,则没有创建任何文件,也没有找到任何日志详细信息。谁能告诉我我犯了什么错误以及如何解决这个问题?
Log.Logger = new LoggerConfiguration()
.WriteTo.File(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "JCA_log-{Date}.txt")
, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] [{SourceContext}] {Message}{NewLine}{Exception}")
.WriteTo.AndroidLog()
.CreateLogger();
摘自 PhillipOGorman,来源如下:
我确实遇到了这个问题。我认为是构造函数中的某些东西似乎阻止了 Serilog 创建文件。
注意 #1:提供的 Serilog 代码依赖于 Sinks.File 和 Sinks.Xamarin.Droid Serilog 库。
注意#2:他使用:
Android.OS.Environment.ExternalStorageDirectory.AbsolutePath
当引用文件将写入的位置时,但是,
Environment.GetFolderPath(Environment.SpecialFolder.Personal)
工作正常(加上它将它打包在您的应用程序沙箱中。)