一、引言
日志记录是将应用程序的操作和状态记录到辅助接口(例如文件,或者数据库,都可以)的过程。然而,软件开发人员并不十分重视日志记录。其实有用的日志可以为开发人员(特别是当有人必须调试/维护别人的代码时)在试图理解代码的作用时提供巨大帮助。一些开发人员说堆栈跟踪是人们应该需要的,但这与事实相去甚远。堆栈跟踪很棒,可以告诉您哪里出了什么问题,但它们无法告诉您最初是如何到达那里的。当然,您可以通过断点跟踪执行,但是,盲目进入会使整个过程比实际应该和可能更耗时。
总而言之,不管你需要训练人工智能模型,还是需要编写可靠软件程序,我都十分建议你在开发过程中添加日志记录,以便更好地维护代码。
二、Android开发中为什么要用Log日志输出而不用print函数打印
很多程序员都喜欢使用System.out.println()来进行调试,因为它无比地方便。但是在Android的开发过程中,并不建议这样。使用System.out.println()很难找到打印出来的信息,因为Android的输出实在是太多,一不留神这刚print出来的东西就没了(被其它Log输出顶上去)。更官方的原因是System.out.println()没有打印的级别区分,也没有日志标签,同时还不方便保存到文件当中。
用Log的话就可以很好地使用日志标签和进行日志级别的区分,同时在Android开发环境中的Logcat添加过滤器很好地定位打印的信息。
三、Android日志输出的不同方法
日志输出方法 | 日志级别 | 备注 |
Log.v() | verbose | 打印琐碎、意义较小的日志信息 |
Log.d() | debug | 打印一些调试信息 |
Log.i() | information | 打印一些比较重要的数据 |
Log.w() | warn | 打印一些警告信息 |
Log.e() | error | 打印程序中的错误信息 |
上面有五种方法打印日志,请大家按照日志级别来进行打印,不要用错(例如通过Log.e方法打印琐碎信息)。
四、参考资料
1、An introduction to logging for programmers
3、郭霖,第一行代码Android第3版