На практике я использую Let's Chat, и я хотел бы хранить соединения, такие как файл журнала Apache ( дата, IP-адрес, браузер, ...) в файле с лог-ротацией. Я нашла такие проекты:

  • Log4js-узел
  • гусеница
  • Уинстон

Но они сосредоточены на системе / журнале отладки и / или я не знаю, как их реализовать в моем случае.

Все идеи приветствуются, спасибо

2
Mmeinert 6 Янв 2016 в 11:37

2 ответа

Лучший ответ

Для регистратора HTTP-запросов есть morgan: https://www.npmjs.com/package/morgan

Пример из документов:

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

var app = express()

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

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

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

Вы можете комбинировать morgan, например, с winston:

var logger = new winston.Logger({
...
}),

logger.stream = {
    write: function(message, encoding){
        logger.info(message);
    }
};

app.use(require("morgan")("combined", { "stream": logger.stream }));
0
Krzysztof Sztompka 6 Янв 2016 в 08:40

Если вам нужен веб-сервер, например, для ведения журнала, вы должны использовать Morgan с Express, просто включите его и используйте как:

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

var app = express();
app.use(morgan('combined'));

https://github.com/expressjs/morgan

0
michelem 6 Янв 2016 в 08:42