【备战春招】第6天 新版 Node.js+Express+Koa2 开发Web Server博客 8-8~8-9
额6725609 2023/2/14 3:13:20
课程名称: 新版 Node.js+Express+Koa2 开发Web Server博客
课程章节: 8-8 分析日志介绍 ~ 8-9 readline 演示
课程讲师: 双越
课程内容:
日志分析
- 如针对 access.log 日志,分析 chrome 的占比(简单的分析)
- 日志是按行存储的,一行就是一条 日志
- 使用 nodejs 的readline(基于stream,效率高)
utils/readline.js
const fs = require("fs"); const path = require("path"); const readline = require("readline"); // 文件名 const fileName = path.resolve(__dirname, "../", "../", "logs", "access.log"); // 创建 read stream const readStream = fs.createReadStream(fileName); // 创建 readline 对象 const rl = readline.createInterface({ input: readStream, }); let chromeNum = 0; let sum = 0; // 逐行读取 //line 读完一行就触发 rl.on("line", (lineData) => { if (!lineData) { return; } // 记录总行数 sum++; const arr = lineData.split(" -- "); if (arr[2] && arr[2].indexOf("Chrome") > 0) { // 累加 chrome 的数量 chromeNum++; } }); // 监听读取完成 rl.on("close", () => { console.log("chrome 占比:" + chromeNum / sum); });
课程收获:
- 明白如使用 nodejs 做日志分析

关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[【备战春招】第6天 新版 Node.js+Express+Koa2 开发Web Server博客 8-8~8-9]http://www.zyiz.net/tech/detail-396217.html
- 2023-05-31【首发】vue3-mobilegpt 基于vite4+vantUI仿chatgpt手机端聊天模板
- 2023-05-10一篇文章搞定什么是nodeJs它和NPM关系与项目应用
- 2023-05-03JS机器学习库Brain.js的使用技巧以及案例-icode9专业技术文章分享
- 2023-05-03JS机器学习库ConvNetJS的使用技巧以及案例-icode9专业技术文章分享
- 2023-04-02json异常: Unexpected character ('/' (code 47)): maybe a comment?
- 2023-04-01接口思维:如何使用 Context API 构建灵活、可维护的 React 组件-icode9专业技术文章分享
- 2023-04-01掌握 ReactJS Hooks:现代 Web 开发综合指南-icode9专业技术文章分享
- 2023-04-01JS Framer Motion库的使用技巧以及案例-icode9专业技术文章分享
- 2023-04-01JS React Query库的使用技巧以及案例-icode9专业技术文章分享
- 2023-04-01JS TailwindCSS库的使用技巧以及案例-icode9专业技术文章分享