@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

Package Sidebar

Install

npm i @kevit/log4js-hangout

Weekly Downloads

6

Version

1.0.3

License

GPL-3.0

Unpacked Size

56.5 kB

Total Files

5

Last publish

Collaborators

  • parth.kevit
  • darshit.mehta
  • dkbhadeshiya
  • harpalsinh.gohil