有没有办法根据用户可设置的日志级别生成日志输出?例如,如果用户选择以“详细”方式登录,则所有消息都将写入日志。或者,如果用户选择在“警告”时登录,则只有“警告”级别和更高级别的消息将写入日志。
请注意,我不是在询问如何使用 logcat 进行过滤以获取“详细”或“警告”或任何消息。相反,我想过滤进入日志的内容。
显然,我可以编写自己的包装器来处理 log.d() 等。只是想知道我是否忽略了这样的事情。
是的,
公共静态字符串 setProperty(字符串名称,字符串值)(java.lang.System)
public static boolean isLoggable (String tag, int level) (android.util.Log)
检查指定标签的日志是否可在指定级别记录。任何标签的默认级别都设置为 INFO。这意味着将记录任何高于并包括 INFO 的级别。在调用记录方法之前,您应该检查是否应该记录您的标签。您可以通过设置系统属性来更改默认级别:'setprop log.tag。' 其中 level 是 VERBOSE、DEBUG、INFO、WARN、ERROR、ASSERT 或 SUPPRESS。SUPPRESS 将关闭您的标签的所有日志记录。您还可以创建一个包含以下内容的 local.prop 文件:'log.tag.=' 并将其放在 /data/local.prop 中。