node项目使用log4js记录日志
一、使用log4js
此处用的是6.3.0版本
// "log4js": "^6.3.0"
npm i log4js@6.3.0
二、配置(生成file的默认配置,log4js_config.js)
// 引人入
let log4js = require('log4js');
// 生成file的默认配置
log4js.configure({appenders: {ruleConsole: {type: 'console'},ruleFile: {type: 'dateFile',filename: 'logs/server-',pattern: 'yyyy-MM-dd.log',maxLogSize: 10 * 1000 * 1000,numBackups: 3,alwaysIncludePattern: true}},categories: {default: {appenders: ['ruleConsole', 'ruleFile'], level: 'info'}}
});// 导出log方法,以便其他地方直接使用,可自定义使用
const logFun = async (request,response)=>{const logger = log4js.getLogger();const logInfo = {// 输出的log内容,可以是任何类型;response,request,}; // 输出log,使用其中一个即可logger.info(logInfo)// logger.info(logInfo)// logger.debug(logInfo)// logger.info(logInfo)// logger.warn(logInfo)// logger.error(logInfo)// logger.fatal(logInfo)
} // 网上其他文案上的自动生成方案,这种方案log内容太少,对使用者用处不大
// 这个就是let express = require('express');
// let app = express();app.use(logDefault());
// 这种示例,这里不做示例了,仅以配置化logFun()输出为主
const logDefault = () =>{return log4js.connectLogger(log4js.getLogger('access'), { level: log4js.levels.INFO })
}module.exports = {logFun,logDefault,
}
三、使用(这里将res.json()做了封装,所有接口返回都走这个封装)
let { logFun } = require('./log4js_config.js');
/*** @param {*} req node默认接收第一个参数request* @param {*} res node默认接收第二个参数response* @param {*} code * @param {*} data * @param {*} msg * @returns */const resJson = (req,res,code,data,msg) => {data = data || '';code = code || '200';message = msg || '';// 执行log输出,传入你的requestlogFun(req,{code,data,message});// 输出return res.json({code,data,message});
}
module.exports = {resJson,
}
四、示例(node使用)
// 使用
let { resJson } = require('../utils/resJson.js');
// 登录示例
router.post('/login',(req,res)=>{let {mobile,pwd} = req.body;if(mobile && pwd){resJson(req,res,'200','登陆成功',{token:'token123456789'})}else{resJson(req,res,'403','登陆失败,请输入正确的用户名和密码','')}
})
node项目使用log4js记录日志相关推荐
- docker build命令详解_Docker 搭建你的第一个 Node 项目到服务器
本文你能学到什么 Docker 是什么 Docker 概念 关于 Docker 的概念是确实不太好总结,下面我通过四点向你说明 Docker 到底是个什么东西. Docker 是世界领先的软件容器平台 ...
- node项目发送邮件失败
title: node项目发送邮件失败 date: 2018-05-07 10:46:43 tags: 防坑指南 categories: 防坑指南 描述问题 搭建一个node项目时,需要在注册时发送邮 ...
- node项目正常启动后不能访问(防火墙未放行端口)
今天打开个人站点,发现登陆不了,原以为是pm2的问题,先停了pm2用node app.js的方式运行后端代码,项目能正常启动但是依然不能登陆. 1 检查ecs的安全组规则,node项目端口3000.8 ...
- centos8 linux部署node项目
1.域名解析到服务器 2.上传代码到项目目录 3.数据库: mongo use user user是数据库名 db.nfrc.insert({"name":admin," ...
- node+express创建第一个node项目
一.安装nodejs 1.到官网下载nodejs安装包 中文官网地址:http://nodejs.cn/ 英文官网地址:https://nodejs.org/en/ 根据自己的系统和版本,选择下载对应 ...
- Node项目部署正常启动后不能访问的问题
Node项目部署正常启动后不能访问的问题 Node项目部署之后,发现访问不了,pm2 list也是正常的,vue项目都可以正常访问,就是请求后台nodejs的时候就报404. 原以为是pm2的问题,先 ...
- node配置ssl证书_在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)...
一.环境部署 1.下载安装包: wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz 2.解压并进入目录: xz -d no ...
- 宝塔部署node项目_SFF一站式node服务管理平台实践
导语 本文阐述了基于Serverless搭建一站式node服务管理平台过程中,在开发框架.日志.监控.部署等方面遇到的问题及技术方案. 背景 Serverless是一种无服务器架构,它的弹性伸缩,按需 ...
- Linux - 部署node项目
安装Node 1.下载linux版本node安装包 https://npmmirror.com/mirrors/node/v16.14.0/node-v16.14.0-linux-x64.tar.xz ...
最新文章
- 2022-2028年中国环氧结构胶行业市场研究及投资前景预测报告
- 在Service中通过WindowManger添加View的方式来把UI界面显示出来
- 在 Windows 上像 Linux 一样使用命令
- java中,字符串和集合判断是否为空
- web静态资源访问规则||webjars的访问配置——webjars是maven库里面对css js image打的一个jar包
- Makefile的条件执行
- HDU1506 / POJ2339 Largest Rectangle in a Histogram 单调递减栈
- Win32 控件篇(6)
- i css svg,如何设置 CSS 背景图中的 SVG 的颜色
- 如何在SQL Server Reporting Services中自动创建KPI
- RHEL6 kernel bug在hadoop上的测试
- Gym 100818I Olympic Parade(位运算)
- 新手必备的15款渲染器,超级干货不要错过
- react 使用iconfont 图标
- excel批量删除所有空白行
- 一张图让你掌握测试人员能力模型及研发测试流程规范
- ADB 自动补全 及 offline 解决方法
- 问题 F: 求一个3*3矩阵对角线元素之和
- 关于oracle的锁的级别以及介绍
- 基于单片机的温度计设计
热门文章
- 网络与安全1【什么ARP***,IP地址欺骗都是浮云】买台300元的交换机搞定
- Deep Complex Convolution Recurrent Network(DCCRN模型)
- ThinkPad T490:Ubuntu16.04下设置无线网
- 热膨胀系数(CTE)的不同处理方法对于封装翘曲仿真的影响
- 花呗额度快充显示服务器调整,花呗有新变化,快充额度被关闭,还能快速提额吗?...
- python 报错: IndentationError: unindent does not match any outer indentation level
- r5 3550H和i510300H 参数对比
- 宝塔-Java前后端分离项目-前端静态资源的访问
- python随机数列表变成字符串_第五天:python字符串和列表
- 和一个人聊天很舒服是什么感觉?