什么时候打日志,打什么级别

原则: 如果你怀疑这个地方要不要打上对应的日志, 那就打上对应的日志

  • 统一使用 AOP 机制, 记录任何和第三方交互的请求和响应, 包括数据库、缓存、RPC 调用, 使用DEBUG 级别。
  • 统一利用 AOP 机制,记录自己系统接收的请求,以及系统自己返回的响应,使用 DEBUG 级别
  • 在开发阶段,使用 DEBUG 记录流程中关键中间结果
  • 怀疑系统可能存在问题, 但是又不严重的地方,记录对应的WARN
  • 部分情况下, 任何不可能出现问题,或者表达有人攻击系统的地方,记录对应的ERROR
`StandbyReportManager` 是 Android 系统中用于管理和上报与 **应用待机模式(App Standby)** 相关信息的模块。它会在系统检测到与应用待机状态变化、后台行为异常或资源使用超标等情况时打印日志。 --- ### **StandbyReportManager 日志的打印时机** 1. **应用进入或离开待机桶(Standby Bucket)时** Android 根据应用的活跃程度将其分配到不同的待机桶中(如 active、working set、frequent、rare)。当应用的桶发生变化时,可能会触发日志。 2. **系统检测到应用在后台频繁唤醒或使用资源** 例如频繁唤醒设备、执行网络请求、启动服务等行为超出限制时,系统会记录并打印日志。 3. **系统执行 Standby 检查周期结束时** Android 会定期执行检查,评估应用的后台行为是否符合当前 Standby 策略,并在检查完成后上报统计信息。 4. **触发 Standby 白名单添加/移除事件时** 如果应用因某种原因被临时加入或移出白名单(允许后台运行),也可能记录相关信息。 5. **开发者启用调试模式或日志级别为 DEBUG 时** 在系统日志级别为 DEBUG 的情况下,更多与 Standby 相关的信息会被打印出来,包括计数器、持续时间等。 --- ### 示例日志结构 ```log D StandbyReportManager: { name:342 CCIF_AP_DATA0, count:9} 26.32ct/h D StandbyReportManager: {"dur":1231069,"count":9,"code":999,"tag":"342 CCIF_AP_DATA0"} ``` 这类日志通常在以下场景中打印: - 系统识别到某个标签(tag)下的事件触发次数过多。 - 某个事件的持续时间超过预期。 - 系统决定调整应用的 Standby 状态。 --- ### 如何控制 StandbyReportManager 的日志输出 1. **修改系统日志级别**: - 使用 `adb shell setprop log.tag.StandbyReportManager VERBOSE` 可开启详细日志。 - 使用 `adb shell setprop log.tag.StandbyReportManager SUPPRESS` 可关闭日志。 2. **查看完整日志**: ```bash adb logcat -s StandbyReportManager ``` --- ### 总结 `StandbyReportManager` 的日志主要在以下情况打印: - 应用进入或离开待机桶 - 后台行为异常或频繁唤醒 - 系统定期检查 Standby 状态 - 应用加入或移出白名单 - 日志级别设为 DEBUG 时 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值