Winston: Π›ΡƒΡ‡ΡˆΠΈΠΉ способ динамичСски ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΆΡƒΡ€Π½Π°Π»Π°

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 19 ΠΎΠΊΡ‚. 2017  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: winstonjs/winston

Богласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ 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 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ‰Ρƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для winston 3.x, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Π²Ρ‹ΡˆΠ΅.

Π£ мСня Π±Ρ‹Π»ΠΈ транспорты Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ winston.create(), ΠΈ я ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ… ΠΈΠ·Π²Π½Π΅, ΠΈ это сработало!

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. Π­Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² нашСй Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ исправлСно Π΄ΠΎ выпуска [email protected] 29 мая 2018Β Π³ΠΎΠ΄Π°.

Π­Ρ‚ΠΎ сработало для мСня, я Π΄Π°Π» ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ транспорту имя, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я ΠΌΠΎΠ³ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ Ρ‡Π΅Ρ€Π΅Π· ref, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ рСгистратора нСдоступСн Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.
`

    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 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ