.NET MAUI应用日志文件默认存储位置与访问方式技术问询
.NET MAUI Android和iOS平台默认日志文件路径及访问方案
Android平台
- 应用私有存储默认路径:
- 应用数据目录:
/data/data/[你的应用包名]/files/(对应MAUI中FileSystem.AppDataDirectory) - 缓存目录:
/data/data/[你的应用包名]/cache/(对应MAUI中FileSystem.CacheDirectory)
- 应用数据目录:
- MAUI本身不会自动生成日志文件,若使用Serilog、NLog等日志库,需将日志路径配置为上述目录之一。
- 系统级日志(Logcat)并非文件形式,可通过命令查看:
adb logcat -d - 导出日志文件可使用adb命令:
adb pull /data/data/[你的应用包名]/files/app.log ./(需设备开启调试模式)
iOS平台
- 应用沙盒内默认路径:
- 文档目录:
/var/mobile/Containers/Data/Application/[应用UUID]/Documents/(对应MAUI中FileSystem.AppDataDirectory) - 缓存目录:
/var/mobile/Containers/Data/Application/[应用UUID]/Library/Caches/(对应MAUI中FileSystem.CacheDirectory)
- 文档目录:
- MAUI默认无自动日志文件,日志库需配置到上述路径。
- 访问方式:
- 模拟器:可直接通过打印的UUID在Finder中定位路径
- 真机:需通过Xcode的「Devices and Simulators」窗口,选中应用后点击「Download Container」导出沙盒文件,再查看内部日志
通用解决方案
- 获取正确路径:在MAUI中使用
FileSystem类获取平台适配的路径,示例代码:
using System.IO; using Microsoft.Maui.Storage; var logFilePath = Path.Combine(FileSystem.AppDataDirectory, "app.log");
- 打印路径调试:将路径输出到调试窗口,确保配置正确:
System.Diagnostics.Debug.WriteLine($"日志文件路径:{logFilePath}");
- 日志库配置:以Serilog为例,配置写入指定路径:
Log.Logger = new LoggerConfiguration() .WriteTo.File(logFilePath, rollingInterval: RollingInterval.Day) .CreateLogger();
内容的提问来源于stack exchange,提问作者Divyesh
相关产品推荐
相关产品推荐

