一定是不知道如何引入对应的地方,导致无法实现功能因为网上代码都一样,
那就详细听小生一讲,这里讲解全部步骤,谢谢。
1.下载 log4js 日志模板
(1)进入您想实现功能的项目文件夹中,例如:
#1.在桌面创建一个文件夹(日志功能)
#2.进入该文件夹,在上面路劲条位置,输入 “cmd” 再按 “回车键”,在该文件夹下进入终端。
#3.在终端内输入:npm i -s log4js
终端就会自动下载log4js,可见情况如下
下载完成后出现显示对应版本信息
2.在该项目文件(日志功能)下,创建log.js 和 调用位置(本例子test.js)
先看看文件目录:
(1)创建log.js,代码如下:
var log4js = require('log4js');//引入刚刚下载的log4js日志模板
log4js.configure({
appenders:{
console:{type:'console'},
file:{
type:'file',
filename:'all.log',
layout:{
type:'pattern',
pattern:'%d{yyyyMMdd hh:mm:ss} {%p} %m'
}
}
},
categories:{
default:{
appenders:['console','file'],
level:'debug'
}
}
})
module.exports=log4js.getLogger();//暴露log4js模板,其他功能点才能应用
讲解:
1.configure():对日志输出进行配置
getlogger(): 获取logger对象,使用logger对象进行各级别的日志打印
appenders:主要定义以什么样的方式输出(定义输出的位置)
categories:定义日志输出的规则,然后调用之前定义好的appenders进行输出(定义输出的规则)
2.其中设置level的级别,由低到高有,本例子为:level:'debug'
trace->debug->info->warn->error->fatal
这里设置了级别,日志输出只有在设置级别之上才能输出。
例如:我这里假设设置了level:'error'
那么我在后面引用的时候(logger.info()部分),只是用了Info,那么将无法打印出日志
(2)创建text.js引用前面模板的地方
讲解:
var logger=require('./log.js'):
把log.js暴露出来的封装模板进行引入,放在需要引入的文件声明变量的位置。
logger.info(需要输出的日志内容(包括您想要的 字符串/数字/变量))
var logger=require('./log.js')
logger.info('管理员小明添加了学生A')//此处,如果有上面变量可以通过声明引进来就可以实现,比如变量某某管理员添加了某某学生
//其中日志级别只需要到info就行
3.运行该应用文件(text.js)
(1)在刚才的终端里面输入:node test.js
(2)可见终端已经生成了一段日志,此时也可以在文件夹(日志功能)里面看见有 “all.log”文件,打开可见操作日志保存的内容。
4.另外讲解部分:
如果您还没懂引入到哪里,那么请看这个
router.js文件里的“添加信息功能模块”,然后在前面引入封装的module(读音:摸🐖):
var logger = require('./log.js');
(2)然后在添加功能模块的post位置引入,因为当信息被修改提交了才需要生成日志,当然也根据您的业务流程需要填写对应位置
logger.info(根据您的业务生成的日志操作内容);
日志功能,引用部分差不多讲清楚了,如果有未弄明白,没有get到该点,
请您给我留言,第一时间解答您的疑惑,非常感谢您的细心阅读。