Может ли кто-нибудь указать пример настройки sails.js для входа в файл?
Кажется, что это должно быть просто, но мне сложно найти примеры в Интернете.
Я ищу изменения в файлах config/log.js или config/sockets.js.
Может ли кто-нибудь указать пример настройки sails.js для входа в файл?
Кажется, что это должно быть просто, но мне сложно найти примеры в Интернете.
Я ищу изменения в файлах config/log.js или config/sockets.js.
Согласно исходный код, для v0.9.x, вам просто нужно установить filePath
в config/log.js
:
module.exports = {
log: {
level: 'info',
filePath: 'application.log'
}
};
Запись в файл не работает из коробки. Вы должны вызвать функциональность в библиотеках на два уровня вниз. См. Документацию для winston.
сначала установите winston так:
$ npm install winston
Затем отрегулируйте config/log.js
, чтобы выглядеть следующим образом
var winston = require('winston');
/*see the documentation for Winston: https://github.com/flatiron/winston */
var logger = new(winston.Logger)({
transports: [
new (winston.transports.Console)({}),
new (winston.transports.File)({
filename: 'logfile.log',
level: 'verbose',
json: false,
colorize: false
})
]
});
module.exports.log = {
/***************************************************************************
* *
* Valid `level` configs: i.e. the minimum log level to capture with *
* sails.log.*() *
* *
* The order of precedence for log levels from lowest to highest is: *
* silly, verbose, info, debug, warn, error *
* *
* You may also set the level to "silent" to suppress all logs. *
* *
***************************************************************************/
level: 'silly',
colorize: false,
custom: logger
};
Для версий Winston 3.xx
@djsadinoff ответ не работает.
Вместо этого сделайте:
$ npm install winston
Замените файл config/log.js следующим кодом в Sails.js
var winston = require('winston');
const logger = winston.createLogger({
level: 'silly',
format: winston.format.json(),
transports: [
//
// - Write to all logs with level 'info' and below to 'combined.log'
// - Write all logs error (and below) to 'error.log'.
//
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'sails.log' })
]
});
//
// If we're not in production then log to the 'console' with the format:
// '${info.level}: ${info.message} JSON.stringify({ ...rest }) '
//
if (process.env.NODE_ENV !== 'production') {
logger.add(new winston.transports.Console({
format: winston.format.simple()
}));
}
module.exports.log = {
/***************************************************************************
* *
* Valid 'level' configs: i.e. the minimum log level to capture with *
* sails.log.*() *
* *
* The order of precedence for log levels from lowest to highest is: *
* silly, verbose, info, debug, warn, error *
* *
* You may also set the level to "silent" to suppress all logs. *
* *
***************************************************************************/
// Pass in our custom logger, and pass all log levels through.
custom: logger,
level: 'silly',
// Disable captain log so it doesn't prefix or stringify our meta data.
inspect: false
};
Тогда делай
$ sails lift