寻找写入文件和控制台的简单记录器

时间:2017-05-16 15:03:07

标签: node.js typescript

我是关于nodejs和typescript的新手。

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

我谷歌它和我发现的所有是JavaScript记录器,这不适用于打字稿。

2 个答案:

答案 0 :(得分:2)

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

winston.log(' info',' Hello log!')` 这将记录下面的stdout --- 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);

答案 1 :(得分:1)

摩根很容易使用,例如(通过快递):

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!')
})