【问题标题】:looking for simple logger that write to file and console寻找写入文件和控制台的简单记录器
【发布时间】:2017-10-15 17:59:47
【问题描述】:

我是 nodejs 和 typescript 的新手。

我现在在 nodejs 上编写第一台服务器(此代码是使用 typescripts 实现的),我需要在我的服务器上拥有一个写入文件和控制台的记录器。

我用谷歌搜索它,我发现的只是 JavaScript 记录器,这不适用于打字稿。

【问题讨论】:

  • 这是一个非常不完整的问题。请提及您尝试使用的日志记录包,说明您如何导入/需要它、如何配置、如何调用日志记录函数以及遇到什么错误。

标签: node.js typescript


【解决方案1】:

我强烈推荐 Winston。通过安装 Winston 将它添加到您的项目中。然后将 winston 添加到您的项目中: `const winston = require('winston')

winston.log('info', '你好日志!')` 这会将以下内容记录到标准输出 --- info:Hello logs!

要写入文件,您可以通过以下方式进行:

var access = fs.createWriteStream(dir + '/node.my.log', { flags: 'a' })
          , error = fs.createWriteStream(dir + '/node.err.log', { flags: 'a' });

    proc.stdout.pipe(my);
    proc.stderr.pipe(err);

【讨论】:

  • 打字稿中没有require。请改用import ... from ...
【解决方案2】:

摩根的使用非常简单,例如(通过快递):

https://www.npmjs.com/package/morgan

控制台:

var express = require('express')
var morgan = require('morgan')

var app = express()

app.use(morgan('combined'))

app.get('/', function (req, res) {
  res.send('hello, world!')
})

文件:

var express = require('express')
var fs = require('fs')
var morgan = require('morgan')
var path = require('path')

var app = express()

// create a write stream (in append mode) 
var accessLogStream = fs.createWriteStream(path.join(__dirname, 
'access.log'), {flags: 'a'})

// setup the logger 
app.use(morgan('combined', {stream: accessLogStream}))

app.get('/', function (req, res) {
  res.send('hello, world!')
})

【讨论】:

    猜你喜欢
    • 2018-01-02
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 2017-09-30
    相关资源
    最近更新 更多