gpt4 book ai didi

node.js - 如何在浏览器中显示bunyan日志?

转载 作者:搜寻专家 更新时间:2023-10-31 22:49:50 25 4
gpt4 key购买 nike

我有一个在 node.js 上实现的服务器,我使用 Bunyan 进行日志记录。到目前为止,当我需要调试问题时,我会查看控制台中的日志,或者使用 /bunyan/bin/bunyan <log_file.log> 打开旧日志文件。 .这远非理想,因为我必须通过 vnc 或 ssh 进入服务器,当我查看的是较旧的日志时,需要很长时间才能在 bunyan cli 上找到我要查找的内容。

我想扩展我的日志记录功能,以便我可以提供日志文件,以便我可以在浏览器上查看它们。到目前为止,这是我已经实现的:

var express = require('express');
var app = express();
var bunyan = require('bunyan');
var serveIndex = require('serve-index');

var log = bunyan.createLogger({
name: 'server',
streams: [
{
level: 'info',
stream: process.stdout
},
{
type: 'rotating-file',
level: 'info',
path: __dirname+'/logs/server-logs.log',
period: '1m',
count: 12
}
]
});

app.use('/logs', serveIndex('logs', {'icons': true}))
app.get('/logs/*',function(req,res)
{
var file_name = __dirname + '/logs/' + JSON.stringify(req.params['0']);
file_name = file_name.replace(/"/g, '');
log.info(file_name);
var obj = fs.readFileSync(file_name, 'utf8');

res.format({
'application/json': function(){
res.send(obj);
},
'default': function(){
res.status(406).send('Not Acceptable');
}
});
});

/*Run the server*/
app.listen(3005,function()
{
log.info("Started.");
});

这让我能够到达 http://server/logs我得到了所有日志文件的列表,我可以单击它们,它们就会显示在浏览器上。问题是它们仍然只是原始的 json,不是一种阅读起来非常友好的格式。

我想要的是在浏览器中以漂亮的方式打印 bunyan 在 cli 中打印的方式。

有什么建议吗?我已经搜索了几个小时来寻找可以做到这一点的东西,但找不到任何东西。

谢谢!

最佳答案

您可以使用 frontail在提供的 html 页面中显示日志!

你可以使用 bunyan-format很好地格式化 bunyan 日志输出的包!

关于node.js - 如何在浏览器中显示bunyan日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35363723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com