node.js - 如何通过url在节点js中呈现日志/文本文件?
问题描述
我正在尝试在浏览器中查看特定 url 时的日志文件。我在本地 (/logsFolder/app.log) 中有日志文件
我尝试了以下代码: 代码:1
var app = express();
var path = require('path');
var logFile = require('/logs/app');
app.use('/logs',logFile);
它抛出了类似的错误
Error: Cannot find module '/logs/app'
代码:2
const app = express();
const path = require('path');
const router = express.Router();
router.get('/logFile', function(req, res){
console.log("inside logt :");
res.render('./logs/app.log');
});
任何人都可以请帮我解决。
解决方案
您的日志是静态文本文件,不是 javascript,也不是 json 文件,这就是您不需要它的原因。(代码 1)
您也没有使用模板引擎,这就是您的代码 2 不起作用的原因,它不能自行渲染。
您可以将内置express
中间件用于静态文件。
尝试这个:
app.use(express.static('logsFolder'))
现在您可以logsFolder
通过请求文件名来访问 的所有内容。例如:http://your-url/app.log
或尝试使用您的代码 2res.sendFile
而不是res.render
推荐阅读
- graphql - 如何在 Gatsbyjs 中正确设置和查询 siteMetadata?
- apache - 让我们在 AWS Lightsail 的 bitnami.conf 中加密 SSL 设置
- mongoose - Mongoose:如何以编程方式重新定义模式?
- javascript - 如何以编程方式从 jQuery 布局中的 Resizer 栏触发调整大小?
- php - 当我登录会话时只读取 php 中的一个字符
- java - 无法将应用程序日志保存到文件
- c++ - '&' 在 "std::vector 中代表什么
& 溪流;” - javascript - 如何从函数返回字符串列表?
- openj9 - OpenJ9 性能不是很好?
- javascript - 修改数据表中的特定 td