用户登录

在课程里我需要一种简单的调试方法,我想把一些调试的信息,获取到的数据这些东西,输出到一个文本文件里面检查一下 .. 这样会比输出到控制台更方便一些,我们可以使用编辑器打开日志文件,检查里面的内容 ..

在应用里可以定义一个日志服务 .. 在 app 目录的下面,创建一个新的文件 .. 放在 Services 目录的下面,文件的名字是 Logger.js .. 在这个文件里可以去定义一个日志服务 .. 服务提供的功能就是把调试信息输出到一个文件里 ..

需要用到一个 package .. 回到命令行 .. 在项目下面,执行一下:

npm install log4js --save

log4js 可以让我们把日志输出到控制台,文件,redis 数据库里面 .. 回到 Logger.js .. 先在文件顶部导入这个 log4js ... 名字是 log4js .. 可以使用 require 或者 adonis 框架里的 use 导入模块 ..

下面再去配置一下 .. 用一下 log4js 的 configure .. 给它一个配置对象参数 .. 添加一个 appenders .. 它里面的东西就是把日志放在哪里 .. 添加一个叫 file 的 appenders .. 再去配置一下它 .. type 是 file,就是把日志存储在一个文件里 .. filename 设置一下文件的名字 .. 比如 app.log .. 然后再用 layout 定制一下日志的格式 .. 配置一下 .. 先把 type 设置成 pattern ,下面再用一下 pattern ,它的值就是日志的格式 ..

这里可以使用一些点位符来表示不同的东西 .. 具体可以使用的点位符,还有它们表示的东西你需要参考 log4js 的文档 .. 这里我需要一个 %r 表示时间 .. %p 表示日志的级别 .. 一个小横线 .. 再加下 %m 表示日志数据本身 ..

跟 appenders 同一级别 .. 再添加一个 categories .. 设置一下分类 .. 里面添加一个 default ,默认的分类 .. appenders 是 file ... 日志的 level 是 debug .. 这个日志级别决定了什么样的日志要放在文件里 ..

下面创建一个 logger .. 用一下 log4js 的 getlogger .. 最后再 module.exports .. 导出创建好的这个 logger ..

使用

下面可以找个地方用一下这个 logger .. 比如应用里有个 CheckoutController .. 在它里面用一下 logger .. 添加一个 logger .. use 一下 App/Services/Logger .. 这个东西就是刚才我们定义的日志服务 ..

app 目录下的东西在 App 这个命名空间的下面 .. 我们定义的 Logger 是在 Services 目录里面放着 .. 所以还要加上一个 Services .. 最后是服务的名字 ..

在这个控制器的 render 方法里面,再用一下 logger .. 输出调试级别的日志,用一下 logger 的 debug .. 里面的东西是要输出的日志信息 ..

还可以使用 logger 的 info .. 它是信息级别的日志 .. 还有 warn .. 表示警告 ... 设置一下输出的日志数据 .. 再试一下 logger 的 error .. 表示错误 ... 最后再用一下 logger 的 fatal ,表示非常严重的错误 .. 设置一下日志数据 ..

回到浏览器 .. 访问一下 checkout 这个页面 .. 因为处理这个页面请求用的就是 CheckoutController 里的 render 方法,这样就会触发执行刚才我们设置的这些 logger ..

在项目的下面,你会发现,多了一个 app.log 文件 .. 它里面的内容就是在应用里使用 logger 输出的日志 ..

在编辑器上可以高亮显示这些日志 .. 打开编辑器的配置 .. Install .. 搜索一下 language-log .. 找到以后再去安装一下这个插件 ..

完成以后,再打开 app.log 这个日志文件 .. 现在就会高亮显示日志文件里的内容了 ...

这个日志文件不用放在项目的版本控制里 .. 打开项目下面的 .gitignore .. 添加一个 *.log ,忽略掉 .log 结尾的文件 ..

再去做一次提交 .. command + shfit + a ,再按一次 a .. 你会发现,提交的修改里面不会包含 app.log 这个文件 ..

再输入一条提交日志 .. 日志服务 .. 把调试数据输出到文件里 .. 保存,确定提交 ..

日志服务:把调试数据输出到文件里《 微信支付:开发准备与扫码支付 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点