ALC 日志开关使用说明 最后更新时间: 2026年08月27日
Android
从 11.2.0501 开始,Android alc 日志支持动态开启关闭。
使用方式:
- 通过 AMapNavi 的 setAlcLogConfig方法开启,在 AMapNavi.getInstance(getApplicationContext()) 调用之前设置
- 第一个参数控制日志级别,对应级别的 alc 日志会通过 FullLinkLogCallback 的 onLogCallback 方法回调。日志级别需要通过“或”操作来控制,比如同时记录 warning 和 error 日志,需要传 alc_level_WARNING | alc_level_ERR。
- 第二个参数控制是否自动记录到本地文件。此参数传 false 时,高德引擎和高德开平的日志都会通过 FullLinkLogCallback 的 onLogCallback 回调。 此参数传 true 时,高德引擎的日志会自动记录到文件,高德开平的日志还是会通过 FullLinkLogCallback 的 onLogCallback 回调。
- Alc 日志的默认目录(没有设置过地图缓存目录的情况下):
- 首选使用 <context.getExternalFilesDir("").getAbsolutePath()>/amap/log/alc/
- 如果上面的目录不可用,会使用 <context.getCacheDir()>/amap/log/alc/
//本地测试建议开启全量 alc 日志,并且自动记录到用户手机的本地文件。线上不建议调用此方法
AMapNavi.setAlcLogConfig(InitConfig.alc_level_ALL, true);
//ALC 日志会通过 onLogCallback 方法进行回调,客户可以自行选择如何处理 ALC 日志(保存到本地文件或者上传到云端)
AMapNavi.setFullLinkLogCallback(new FullLinkLogCallback() {
@Override
public void onLogCallback(String info, long timeStamp) {
}
});InitConfig 中定义了日志级别
public static final long alc_level_DEBUG = 1L << 3;
public static final long alc_level_INFO = 1L << 4;
public static final long alc_level_WARNING = 1L << 5;
public static final long alc_level_ERR = 1L << 6;
public static final long alc_level_FATAL = 1L << 7;
public static final long alc_level_PERFORMANCE = 1L << 8;
public static final long alc_level_TRACING = 1L << 9;
public static final long alc_level_PRISM_TRACING = 1L << 10;
public static final long alc_level_ALC_HEADER = 1L << 11;
public static final long alc_level_ALL = alc_level_DEBUG
| alc_level_INFO
| alc_level_WARNING
| alc_level_ERR
| alc_level_FATAL
| alc_level_PERFORMANCE
| alc_level_TRACING
| alc_level_PRISM_TRACING
| alc_level_ALC_HEADER;iOS
从 11.2.000 开始,iOS ALC 日志支持动态开启关闭。
使用方式:
- 通过 AMapNaviBaseManager 的 setAlcLogConfig:recordStorage: 方法开启。驾车、步行、骑行和电动车 Manager 均继承AMapNaviBaseManager这个基类。
- 需要调用导航初始化才会生效 exp:如: 如下为导航初始化,mapview初始化需要在导航初始化之后
// 初始化驾车导航单例
[AMapNaviDriveManager sharedInstance];- 第一个参数控制日志级别。多个级别通过“或”操作组合,例如同时记录 warning 和 error 日志,传 AMapNaviALCLogLevelWarning | AMapNaviALCLogLevelError;传 0 时使用默认级别 Error | Fatal。
- 第二个参数控制是否自动记录到本地文件。传 NO 时,高德引擎和高德开平日志都会通过 AMapNaviLogger 的 setFullLinkLogBlock: 回调;传 YES 时,高德引擎日志自动记录到文件,高德开平日志仍通过 block 回调。
- ALC 日志默认目录:Documents/amap/600log/alc/。
#import <AMapNaviKit/AMapNaviKit.h>
#import <AMapNaviKit/AMapNaviLogger.h>
// 本地测试建议开启全量 ALC 日志并自动记录到本地文件,线上不建议长期全量开启。
// 必须在任一导航 Manager 的 sharedInstance 调用之前设置。
[AMapNaviDriveManager setAlcLogConfig:AMapNaviALCLogLevelAll
recordStorage:YES];
// recordStorage 为 NO 时,引擎 ALC 日志也通过 block 回调,可自行保存或上传。
[AMapNaviLogger setFullLinkLogBlock:^(NSString * _Nullable info) {
NSLog(@"FullLinkLog: %@", info);
}];AMapNaviALCLogLevel 中定义了日志级别:
AMapNaviALCLogLevelDebug = 1ULL << 3;
AMapNaviALCLogLevelInfo = 1ULL << 4;
AMapNaviALCLogLevelWarning = 1ULL << 5;
AMapNaviALCLogLevelError = 1ULL << 6;
AMapNaviALCLogLevelFatal = 1ULL << 7;
AMapNaviALCLogLevelPerformance = 1ULL << 8;
AMapNaviALCLogLevelTracing = 1ULL << 9;
AMapNaviALCLogLevelPrismTracing = 1ULL << 10;
AMapNaviALCLogLevelHeader = 1ULL << 11;
AMapNaviALCLogLevelAll = AMapNaviALCLogLevelDebug
| AMapNaviALCLogLevelInfo
| AMapNaviALCLogLevelWarning
| AMapNaviALCLogLevelError
| AMapNaviALCLogLevelFatal
| AMapNaviALCLogLevelPerformance
| AMapNaviALCLogLevelTracing
| AMapNaviALCLogLevelPrismTracing
| AMapNaviALCLogLevelHeader;
