wzr*_*337 8 node.js winston typescript
我对温斯顿很困惑.我使用以下打字稿代码登录我的*.ts文件中的控制台:
import { Logger, LoggerInstance } from "winston";
const logger:LoggerInstance = new Logger();
logger.info('Now my debug messages are written to the console!');
Run Code Online (Sandbox Code Playgroud)
控制台仍然是空的.没有编译错误或其他问题.
同时以下工作正常:
const wnstn = require("winston");
wnstn.info('Finally my messages are written to the console!');
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么会这样?我是否必须以不同方式配置Logger?我如何使用第二个例子中的默认值?
小智 7
这是导入Winston的Typescript方式.
首先,请确保您已安装了输入:
npm i -D @types/winston
然后,在你的script.ts中
import { Logger, transports } from 'winston';
var logger = new Logger({
transports: [
new transports.Console(),
new transports.File ({ filename: 'somefile.log' })
]
});
Run Code Online (Sandbox Code Playgroud)
在genral中,您可以导入所有常量和类型而无需使用winston.<...>之前.
当你实例化一个新的 Logger 实例时,你需要为它提供一个传输列表,以便它知道将日志发送到哪里:
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)(),
new (winston.transports.File)({ filename: 'somefile.log' })
]
});
Run Code Online (Sandbox Code Playgroud)
好,
感谢 @idbehold 的提示,我发现一个简单易行的:
import * as winston from "winston";
winston.info('Now my debug messages are written to the console!');
Run Code Online (Sandbox Code Playgroud)
适用于默认记录器..
| 归档时间: |
|
| 查看次数: |
7818 次 |
| 最近记录: |