Вход в express js в выходной файл?
Что является лучшим способом, чтобы журнал мой экспресс на JS сервер? Встроенный экспресс.регистратор() просто отображает журналы на экране. Могу ли я также зарегистрировать их в папке file in /log? Также текущий регистратор автоматически регистрирует запрос и ответы. Мне нужно записать некоторые данные приложения в Файлы журнала. Можно ли это сделать с помощью экспресс.лесоруб?
с уважением,
Лалит
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 для создания приложения, в то время как кластер берет на себя остальные задачи, включая ведение журнала.
- приложение.использовать(экспресс.logger ()); / / в ваших экспресс-приложениях, например: app.js
- кластера.использовать (кластер.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