当前位置: 首页 > news >正文

wordpress语言的设置中文南京seo培训

wordpress语言的设置中文,南京seo培训,嘉兴新闻网,网站title字数使用morgan可以打印日志,但是要分割日志文件就需要使用file-stream-rotator,下面介绍使用方法: 1.安装2个依赖 npm i morgan file-stream-rotator 2.在入口文件app.js中引入相关插件 var express require("express"); var fs require("fs"); var pat…

使用morgan可以打印日志,但是要分割日志文件就需要使用file-stream-rotator,下面介绍使用方法:

1.安装2个依赖

npm i morgan file-stream-rotator

2.在入口文件app.js中引入相关插件

var express = require("express");
var fs = require("fs");
var path = require("path");
var morgan = require("morgan");//https://www.npmjs.com/package/morgan
var FileStreamRotator = require("file-stream-rotator");//https://www.npmjs.com/package/file-stream-rotator
var app = express();

3.使用插件打印日志

function getTime() {var d = new Date();return d.toLocaleString() + "." + d.getMilliseconds();
}
// 自定义的 token 来获取请求头数据
morgan.token("auth", function (req, res) {return req.headers["token"]; //获取请求头的token值,一般是token或者authorization
});
// 自定义的 token 来获取本地时间
morgan.token("local-time", getTime);
// 自定义 token 来获取请求体
morgan.token("request-body", function (req, res) {return JSON.stringify(req.body);
});
// 自定义 token 来记录响应体,需要下面的中间件配合才能获取到
morgan.token("response-body", (req, res) => {return res.body || "";
});
// 自定义中间件来捕获响应体
app.use(function (req, res, next) {const originalSend = res.send.bind(res); // 暂存原始的 end 方法res.send = function (body) {res.body = body; // 保存响应体return originalSend(body); // 正常发送响应};next();
});// 创建一个写入流到文件
var logDirectory = path.join(__dirname, "../logs");//根据个人需要设置文件存放位置
if (!fs.existsSync(logDirectory)) {fs.mkdirSync(logDirectory);
}
var configs = function (type) {return {date_format: "YYYYMMDD", //日期类型filename: path.join(logDirectory, "%DATE%-" + type), //文件名frequency: "daily", //每天的频率verbose: false, //使用 console.log 在事件发生时提供额外的信息。默认值为 false。extension: ".log",//日志后缀名size: "20m", //文件大小,单位k,m,gmax_logs: "30", //最多保留日志文件数量,如果后面跟随d表示保留天数,超过会自动删除};
};
// 创建错误日志输出流
var errorLogStream = FileStreamRotator.getStream(configs("error"));
// 创建访问日志输出流
var accessLogStream = FileStreamRotator.getStream(configs("access"));//如果需要将代码中console.log打印的内容也添加到日志文件中才需要下面的自定义流和重定向流
// 创建一个自定义的日志流
var combinedStream = {write: (message) => {// 写入文件accessLogStream.write(message);// 同时输出到控制台// process.stdout.write(message);},
};
// 重定向 console.log 到自定义日志流
var originalConsoleLog = console.log;
console.log = function (message) {// 将消息写入日志文件combinedStream.write(`${getTime()} ${JSON.stringify(message)}\n`);// 同时输出到控制台//   originalConsoleLog.apply(console, [message]);
};var customFormat =":local-time :method :url :status :res[content-length] :response-time ms :auth \n  请求 :request-body \n  响应 :response-body \n";app.use(morgan(customFormat, {immediate: false,stream: errorLogStream,//使用原始的,console.log不会输出到日志文件skip: function (req, res) {return res.statusCode < 400; //code >= 400不过滤},})
);
app.use(morgan(customFormat, {immediate: false,stream: combinedStream,//使用自定义的,console.log会输出到日志文件skip: function (req, res) {//可以根据res.statusCode<400,req.method === 'GET',req.url === '/getUserInfo'判断是否过滤var arr = [".js", ".css", ".png", ".jpg"];return arr.some(function (item) {return req.url.indexOf(item) > -1;});},})
);

http://www.hrbkazy.com/news/13164.html

相关文章:

  • 传奇新开网站服网站整站优化
  • 阿里云做网站选择服务器电商seo优化
  • 网站建设的目标关键词优化排名seo
  • 跨境支付互联互通网站搜索引擎优化的方法
  • 平远网站建设金戈西地那非片
  • 定制开发电商网站建设多少钱个人网页模板
  • 音乐网站如何做湖南疫情最新消息今天
  • 做家装的网站有哪些一键免费生成网页的网站
  • 做哪个视频网站赚钱的58百度搜索引擎
  • 制作企业网站世界杯数据分析
  • 吉林建站广州最新疫情最新消息
  • 上海网站建设建议设计网站接单
  • 改善网站建设怎么做一个属于自己的网站
  • 荣耀手机商城官方网站入口网站seo内容优化
  • 有什么网站做交流会aso网站
  • 深圳做企业网站多少钱app推广拉新一手渠道代理
  • 国外网站空间哪个好链接生成器
  • 响应式 购物网站模板下载做网站需要哪些技术
  • 广告公司叫什么名字好兰州seo优化公司
  • 制作网络游戏seo引擎优化外包
  • 温州哪里有做网站河北网站seo策划
  • wordpress目录结构福州seo建站
  • 歪歪小站 wordpress郑州seo关键词
  • 柳州网站建设哪家百度站长工具怎么用
  • 宁波网站建设公司名单推荐可以看封禁网站的浏览器
  • 网站做非经营性广告需备案企业管理培训公司排行榜
  • 政府网站建设事例百度竞价排名费用
  • 鄞州区网站建设seo免费优化软件
  • 网站运营需要 做哪些工作自媒体是什么
  • 江苏专业的网站建设宣传软文是什么