Tom*_*mCB 43 logging android android-studio
自从更新AS 1.1 Preview 2后,我的所有Log消息都显示红线
Log.d(TAG, "message");
Run Code Online (Sandbox Code Playgroud)
带有消息:" 日志记录标记最多可包含23个字符.. ".
除了Android Studio本身,我没有从根本上更新任何内容.这是一个错误吗?
squ*_*ish 43
如果您愿意,可以禁用它.
在Android Studio中,分析 - >检查代码.

在检查配置文件下,单击带有3个水平点的按钮.
应打开以下窗口.搜索"log"并取消选中"Too Long Log Tags".

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

And*_* T. 38
不,这不是一个错误.
来自Android Studio 1.1 Preview 2的最新更改,
检查传递给日志记录调用的标记(如果其值可以解析)最多为23个字符(根据Logging API的要求).
正如最近对最近的变化所解释的,这是由于如何 Log API不允许超过23个字符的标记.
SLF4J Android对此有一个解释:
[...]此类标签的长度目前限制为23个字符(23 = 32 - 8表示名称空间前缀 - 1表示C终结符)
它与Android的源代码相匹配.
目前,唯一明确提到此异常的函数是Log.isLoggable(),
...
抛出
如果tag.length()> 23,则抛出IllegalArgumentException.
但是,根据注释,显然记录器会在发布模式下抛出异常(在调试模式下会被忽略).
您可以按照Terence的回答禁用lint检查,但是您已经收到警告.
str*_*aya 18
补充@Terence的答案
您还可以在build.gradle文件中使用gradle关闭特定的检查:
lintOptions {
disable 'LongLogTag'
}
Run Code Online (Sandbox Code Playgroud)
或者使用xml将lint.xml文件添加到项目中:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
<issue id="LongLogTag" severity="ignore" />
</lint>
Run Code Online (Sandbox Code Playgroud)
你永远不能忽略这个lint检查,它肯定会在你的发布版本上带来意想不到的结果,因为它抛出异常并停止执行(它不会使你的应用程序崩溃).
我最近得到了一个可怕的教训:它在调试模式下没问题,但在发布版本上表现不同.
| 归档时间: |
|
| 查看次数: |
21051 次 |
| 最近记录: |