Javascript Winston Logger能否在前端用于日志记录?
我正在创建具有完整平均堆栈的应用程序 NodeJs、Angular 6、ExpressJs和MongoDB 我已经成功地创建了一个服务器,它可以完美地工作,而不是使用Javascript Winston Logger能否在前端用于日志记录?,javascript,node.js,angular,express,winston,Javascript,Node.js,Angular,Express,Winston,我正在创建具有完整平均堆栈的应用程序 NodeJs、Angular 6、ExpressJs和MongoDB 我已经成功地创建了一个服务器,它可以完美地工作,而不是使用console.log在我的应用程序中记录错误时,我决定使用winstonlogger这就是我现在所拥有的 服务器端 注意:服务器端的Winston工作正常 客户端 我想在客户端angular 6应用程序中使用winston 示例:在我的一个组件中,我有这个 import * as logger from "winston"; ..
console.log
在我的应用程序中记录错误时,我决定使用winstonlogger
这就是我现在所拥有的
服务器端
注意:服务器端的Winston工作正常
客户端
我想在客户端angular 6应用程序中使用winston
示例:在我的一个组件中,我有这个
import * as logger from "winston";
.........
this.activeRouter.params.subscribe((params) => {
// tslint:disable-next-line:prefer-const
let id = params['id'];
this.moviesService.getReview(id)
.subscribe(review => {
console.log(review);
this.review = review;
});
});
如您所见,我使用的是console.log(review)
,而不是控制台日志,我想使用Winston
如何在客户端使用Winston logger?我是所有这些东西的新手,任何帮助都将被感谢。根据这张票:它几乎可以用于浏览器了?还是差不多准备好了?听起来他们最近开始支持在浏览器环境中进行日志记录。是的,这是可能的,但是浏览器的默认传输非常有限。我建议使用
npm安装winston运输浏览器控制台-S
它易于使用并支持记录json对象:
import * as winston from "winston";
import BrowserConsole from 'winston-transport-browserconsole';
const level = "debug";
winston.configure({
transports: [
new BrowserConsole(
{
format: winston.format.simple(),
level,
},
),
],
});
winston.debug("DEBUG ", {a: 1, b: "two"});
是-可以(技术上)在浏览器中使用。应该是吗?几乎肯定不是(很遗憾)。温斯顿是一个出色的节点记录器。但是,强调“为节点”。如果要在客户端上使用它,除了winston本身之外,还需要添加一组节点多边形填充,相对于其他客户端记录器,winston本身非常大。在winston和那些Polyfill之间,您将显著增加您的工件的大小。另外,仅供参考,webpack 5删除了这些节点多边形填充,因此您需要手动将它们添加回去。在哪里可以找到如何使用它们的示例?例如,如果要登录到持久文件,如何设置文件传输?或者到一个像DB这样的远程位置?
import * as winston from "winston";
import BrowserConsole from 'winston-transport-browserconsole';
const level = "debug";
winston.configure({
transports: [
new BrowserConsole(
{
format: winston.format.simple(),
level,
},
),
],
});
winston.debug("DEBUG ", {a: 1, b: "two"});