Вход в express js в выходной файл?



Что является лучшим способом, чтобы журнал мой экспресс на JS сервер? Встроенный экспресс.регистратор() просто отображает журналы на экране. Могу ли я также зарегистрировать их в папке file in /log? Также текущий регистратор автоматически регистрирует запрос и ответы. Мне нужно записать некоторые данные приложения в Файлы журнала. Можно ли это сделать с помощью экспресс.лесоруб?



с уважением,
Лалит

538   7  

7 ответов:

смотреть на подключения промежуточного программного обеспечения, которые выражают расширяется. Экспресс.logger () - это то же самое, что и connect.регистратор():

http://expressjs.com/api.html#middleware

http://www.senchalabs.org/connect/logger.html

регистратор имеет параметр потока, который может быть установлен там, где вы хотите, чтобы выход шел. По умолчанию он отправляет его в stdout. Также вы можете указать формат, который вы хотите использовать.

чтобы отправить экспресс или подключить журналы к файлу, используйте узел writeStream. Например, чтобы отправить экспресс-журналы ./myLogFile.журнал:

открыть поток в файл в режиме добавления с :

var logFile = fs.createWriteStream('./myLogFile.log', {flags: 'a'}); //use {flags: 'w'} to open in write mode

затем в вашей экспресс-конфигурации используйте:

app.use(express.logger({stream: logFile}));

также должен работать для подключения.лесоруб.

вы должны попробовать У.

var logger = new (winston.Logger)({
  transports: [
    new (winston.transports.Console)(),
    new (winston.transports.File)({ filename: 'somefile.log' })
  ]
});

winston-это своего рода глупый, многотранспортный журнал = = tee(1), или просто хвост файла и передача данных, легко, как пирог

использовать log4js:

var log4js = require('log4js');
log4js.configure({
    appenders: [{type: 'console'},
                {type: 'file', filename: 'express.log', category: 'dev'}]
});

var logger = log4js.getLogger('dev');
logger.setLevel('DEBUG');

app.use(log4js.connectLogger(logger, {level: log4js.levels.DEBUG}));

вы должны попробовать кластер http://learnboost.github.com/cluster/ для узла. Используйте express для создания приложения, в то время как кластер берет на себя остальные задачи, включая ведение журнала.

  1. приложение.использовать(экспресс.logger ()); / / в ваших экспресс-приложениях, например: app.js
  2. кластера.использовать (кластер.logger ('logs')); / / на вашем сервере кластера, например: сервер.js

для регистрации HTTP-запросов:https://github.com/expressjs/morgan#write-logs-to-a-file

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

Comments

    Ничего не найдено.