Winston: рд▓реЙрдЧ рд╕реНрддрд░ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдЕрдХреНрддреВре░ 2017  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: winstonjs/winston

рд╡рд┐рдВрд╕реНрдЯрди рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░

рдЖрдк рдкрд░рд┐рд╡рд╣рди рдХреЗ рд▓реЙрдЧ рд╕реНрддрд░ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:

рд╡рд┐рдВрд╕реНрдЯрди 2.x

  var logger = new (winston.Logger)({
    transports: [
      new (winston.transports.Console)({ level: 'warn' }),
      new (winston.transports.File)({ filename: 'somefile.log', level: 'error' })
    ]
  });
  logger.debug("Will not be logged in either transport!");
  logger.transports.console.level = 'debug';
  logger.transports.file.level = 'verbose';
  logger.verbose("Will be logged in both transports!");

рд╡рд┐рдВрд╕реНрдЯрди 3.x

const transports = {
  console: new winston.transports.Console({ level: 'warn': level: 'warn' }),
  file: new winston.transports.File({ filename: 'combined.log', level: 'error' })
};

const logger = winston.createLogger({
  transports: [
    transports.console,
    transports.file
  ]
});

logger.info('Will not be logged in either transport!');
transports.console.level = 'info';
transports.file.level = 'info';
logger.info('Will be logged in both transports!');

рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдпрд╛ рддреЛ рдореИрдВ 3.0 рдореЗрдВ рд╕реНрддрд░ рдХреИрд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ
var logger = new (winston.Logger)({ transports: [ new (winston.transports.Console)({ level: 'warn' }), new (winston.transports.File)({ filename: 'somefile.log', level: 'error' }) ] });


рдХреНрдпрд╛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЧрддрд┐рд╢реАрд▓ рд╕реНрддрд░ рдкрд░рд┐рд╡рд░реНрддрди рддрдВрддреНрд░ рдХрд╛ рдкрд┐рдЫрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдирдП рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдмреЗрд╣рддрд░ рд╣реИред

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рднреА рдКрдкрд░ рдХреЗ рд╕рдорд╛рди рд╡рд┐рдВрд╕реНрдЯрди 3.x рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдВ

рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрд╕реНрдЯрди рдХреЗ рдмрд╛рд╣рд░ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдерд╛ред рдХреНрд░рд┐рдПрдЯ () рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдмрд╛рд╣рд░ рд╕реЗ рдмрджрд▓ рдЧрдпрд╛, рдпрд╣ рдХрд╛рдо рдХрд░ рдЧрдпрд╛!

var transportsList =  const transports = {
  console: new winston.transports.Console({ level: 'warn': level: 'warn' }),
  file: new winston.transports.File({ filename: 'combined.log', level: 'error' })
};
var logger = new (winston.Logger)({
  transports: transportsList
});

//Then change below
transportsList.console.level = 'silly'

#1191 рдХреЗ рдбреБрдкреНрд▓реАрдХреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрджред рдпрд╣ рд╣рдорд╛рд░реЗ рд░реЛрдбрдореИрдк рдкрд░ рд╣реИ рдФрд░ 29 рдордИ, 2018 рдХреЛ [email protected] рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд╣рди рдХреЛ рдПрдХ рдирд╛рдо рджрд┐рдпрд╛ рд╣реИ, рдирд╛рдо рд╕реЗ рдХреБрдВрдЬреАрдмрджреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд░реЗрдлрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдЧрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред
`

    var self = this;
    self.logger = self.winston.createLogger({
            levels:self.winston.config.syslog.levels
            ,transports:
                [
                    new self.winston.transports.Console({
                        level: self.config.console.level.ref
                        ,formatter: self._consoleLogFormatter
                        ,name: 'console'
                    })
                ]
        });

        self.transports = _.keyBy(self.logger.transports,"name");
        self.transports.console.level = 'info';

`

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ghost picture ghost  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mrgoos picture mrgoos  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

anks333 picture anks333  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alditis picture alditis  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pocesar picture pocesar  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ