Nihilist Postmodern Mistake
Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

@kevit/log4js-hangout

1.0.3 • Public • Published

Log4js Node Hangout Appender

Sends log events to a hangout room or group. This is an appender for use with log4js.

Instructions:

Install the package:

npm i @kevit/log4js-hangout

Configuration

  • type - @kevit/log4js-hangout
  • webhookURL - Your hangout incoming webhhok URL or provide token,space and key
  • token - string - your Hangout Incoming webhook token
  • space - string - the room or group to send log messages
  • key - string - your Hangout Incoming webhook key
  • layout - object (optional, defaults to patternLayout with pattern `%p` %c%n%m) - the layout to use for the message (see layouts).

Example

log4js.configure({
    appenders: {
        hangoutAlert: {
            type: '@kevit/log4js-hangout',
            space: '****',
            key:'****',
            token:'****'
        }
    },
    categories: {default: {appenders: ['hangoutAlert'], level: 'warn'}}
});

Without webhookUrl

With webhook url

log4js.configure({
    appenders: {
        hangoutAlert: {
            type: '@kevit/log4js-hangout',
            webhookUrl: 'https://chat.googleapis.com/v1/spaces/*****/messages?key=*****&token=***'
        }
    },
    categories: {default: {appenders: ['hangoutAlert'], level: 'warn'}}
});

This configuration will send all warn (and above) messages to the respective hangout room.

With multiple appenders

log4js.configure({
    appenders: {
        out: {type: 'stdout'},
        allLogs: {type: 'file', filename: 'all.log', maxLogSize: 10485760, backups: 10, compress: true},
        outFilter: {
            type: 'logLevelFilter', appender: 'out', level: process.env.LOG_LEVEL || 'all'
        },
        hangout: {
            type: '@kevit/log4js-hangout',
            webhookUrl: 'https://chat.googleapis.com/v1/spaces/*****/messages?key=*****&token=***'
            },
        hangoutFilter: {
            type: 'logLevelFilter', appender: 'hangout', level: process.env.ALERT_LOG_LEVEL || 'warn'
        }
    },
    categories: {
        default: {appenders: ['allLogs','outFilter', 'hangoutFilter']}
    }
});

This configuration displays use of multiple appenders.

  • outFilter: Push log in stdout with filter LOG_LEVEL set in environment, if not set then all levels
  • hangoutFilter: Push log in hangout-webhook with filter ALERT_LOG_LEVEL set in environment, if not set then warn levels

For more configuration, see log4js

Install

npm i @kevit/log4js-hangout

DownloadsWeekly Downloads

0

Version

1.0.3

License

GPL-3.0

Unpacked Size

56.5 kB

Total Files

5

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar