如何使用winston设置子目录而不是根目录?

cod*_*ode 7 path node.js winston

我想nodejs在名为logs的目录中为我的项目设置日志

根据这里的文件

我在做 :

winston.add(winston.transports.File, { filename: 'logs/mylogs.log' });
Run Code Online (Sandbox Code Playgroud)

但它什么都不做.

我如何实现同样的目标?

小智 24

将以下代码放在您的服务器文件中.

var winston = require('winston');
var fs = require( 'fs' );
var path = require('path');
var logDir = 'log'; // directory path you want to set
if ( !fs.existsSync( logDir ) ) {
    // Create the directory if it does not exist
    fs.mkdirSync( logDir );
}
var logger = new (winston.Logger)({
    transports: [
        new (winston.transports.Console)({
            colorize: 'all'
        }),
        new (winston.transports.File)({filename: path.join(logDir, '/log.txt')})
    ]
});
logger.info("Anything you want to write in logfile");
Run Code Online (Sandbox Code Playgroud)

  • fs 是核心模块,不需要从 npm 安装。 (3认同)