日志标签最多可以有 23 个字符

新手上路,请多包涵

自更新 AS 1.1 Preview 2 以来,我的所有 Log 消息下都出现了红线

Log.d(TAG, "message");

带有消息:“ 日志记录标签最多可以包含 23 个字符.. ”。

除了 Android Studio 本身,我没有从根本上更新任何东西。这是一个错误吗?

原文由 TomCB 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 720
2 个回答

不,这不是错误。

Android Studio 的 Recent Changes on 1.1 Preview 2

检查传递给日志记录调用的标记(如果可以解析其值)是否最多 23 个字符长(根据日志记录 API 的要求)。

记录标签是 31

正如对最近更改的简短解释,这是由于 Log API 不允许超过 23 个字符的标记。

SLF4J Android 对此有解释:

[…] 此类标签的长度目前限制为 23 个字符(23 = 32 - 命名空间前缀为 8 - C 终止符为 1)

这与 Android 的源代码 相匹配。

目前,唯一明确提及此异常的函数是 Log.isLoggable()

投掷

如果 tag.length() > 23,则抛出 IllegalArgumentException

但是,根据评论,显然记录器确实在发布模式下抛出了异常(在调试模式下被忽略)。

您可以按照 Terence 的回答 禁用 lint 检查,但您已收到警告。

原文由 Andrew T. 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您愿意,可以禁用它。

在 Android Studio 中,分析 -> 检查代码。

截屏

在 Inspection Profile 下,单击带有 3 个水平点的按钮。

应打开以下窗口。搜索“日志”并取消选中“日志标签太长”。

截屏

更新: Android Studio 2.2,它位于 Android Lint: Correctness 下

截屏

原文由 terencey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题