在react native中有这么几种日志: 在debug模式下,react native默认打印trace以上级别日志 在release模式下,react native默认打印error以上级别日志 如果想在release模式下,打印所有console日志,可以在AppDelegate.m中这么干: 1、引入RCTLog头文件 #import <React/RCTLog.h> 2、在application方法中调整日志级别 RCTSetLogThreshold(RCTLogLevelTrace) 然后在mac系统下就可以通过console.app来过滤查看日志: 有了js console日志,调试生产包就方便很多了!如果不习惯苹果的控制台,可以安装libimobiledevice 安装libimobiledevice很简单,在命令行输入: brew install libimobiledevice --HEAD 不知道brew的自己去脑补,如果电脑上没有brew,请看这里: brew安装传送门如何使用idevicesyslog 很简单,在命令行输入: idevicesyslog 就可以在屏幕上看见手机上所有的日志了。 如何查看我们想要的日志 1)将设备日志重定向到文件 idevicesyslog >> iphone.log & 该命令是将日志导入到iphone.log这个文件,并且是在后台执行。 2)用tail -f和grep查看log tail -f iphone.log tail -f iphone.log | grep 'QQ’ # 查看包含QQ的行 如图:winston 目前最新版本3.2.1,周下载量在300万以上,github star 13k+, 可以说是一个非常流行的nodejs 日志管理库。值得每个nodejs 开发人员去熟悉和了解。
npm winston截图
github winston 截图
winston 支持RFC5424标准的日志等级,即debug/info/notice/warning/error等,每一个日志等级都实现为一个函数,你可以直接调用对应的函数,来表明你想要输出日志的重要程度。
所谓多路传输,是指,你可以自定义多个日志储存驱动,比如,将日志输出到终端的同时,将重要日志记录到文件中,甚至写到数据库中
随便一搜都有: winston -daily-rotate-file,express- winston,winston -mongodb, winston -redis, winston -mail等等等。
添加自定义传输很容易。 您需要做的就是接受您需要的任何选项,实现log()方法,并使用winston使用它。
winston支持使用类似Loggly的选项查询日志。 请参阅Loggly Search API。 具体来说:File,Couchdb,Redis,Loggly,Nssocket和Http。
除了winston中可用的预定义npm,syslog和cli级别,您还可以选择定义自己的级别
winston的格式可以从winston.format访问。 它们在logform中实现,这是winston的一个独立模块。 这样可以在编写自己的传输时提供灵活性,以防您希望在传输中包含默认格式。
winston为任何日志实现了一个简单的分析机制(Profiling)
流式处理允许您从所选传输流式处理日志。
winston,可以捕获并记录进程中的uncaughtException事件