Skip to content

Instantly share code, notes, and snippets.

View mrister's full-sized avatar
🏠
Working from home

Mihovil Rister mrister

🏠
Working from home
View GitHub Profile
@mrister
mrister / loggly-winston-typescript.ts
Last active July 13, 2017 16:12
Logging to Loggly in TypeScript
// run npm i -D @types/winston
// run npm i winston
import {Logger, transports} from 'winston';
// run npm i winston-loggly-bulk
require('winston-loggly-bulk');
const logger = new Logger({
transports: [
new transports.Console(),
new transports.Loggly({
@mrister
mrister / use-morgan-loggly-express.js
Created May 14, 2017 13:15
Using MorganLogglyStream in express app
const express = require('express');
const morgan = require('morgan');
const MorganLogglyLoggerStream = require('./morgan-loggly');
const app = express();
const logglyStream = new MorganLogglyLoggerStream(
{
TOKEN: 'YOUR TOKEN',
SUBDOMAIN: 'YOUR SUBDOMAIN'
@mrister
mrister / morgan-loggly.js
Last active January 19, 2019 17:49
Morgan loggly stream custom class
const {Writable} = require('stream');
const loggly = require('node-loggly-bulk');
class MorganLogglyLoggerStream extends Writable {
/**
* Create a new instance of MorganLogglyLogger
* @param options {Object}
* @param options.TOKEN {String} your loggly token
* @param options.SUBDOMAIN {String} your loggly SUBDOMAIN
*/
@mrister
mrister / example-express-morgan-app.js
Last active May 14, 2017 13:10
Example morgan express app with combined logger
const express = require('express');
const morgan = require('morgan');
const app = express();
// use combined preset, see https://github.com/expressjs/morgan#combined
app.use(morgan('combined'));
app.get('/', (req, res) => {
res.send('Hello from Express.js server!')
@mrister
mrister / using-development-logger.js
Last active May 21, 2017 20:21
Using the development logger
// log is also a previously defined variable (logger) and we use shorthand syntax in constructor to
const devLogger = new DevelopmentLogger({ log });
devLogger.logIt("Problem with MySQL server.");
@mrister
mrister / development-logger-class.js
Last active May 21, 2017 20:21
Creating a DevelopmentLogger class
class DevelopmentLogger {
constructor(options) {
this.log = options.log.child({environment: 'development'});
}
logIt(message) {
this.log.info(message)
}
}
@mrister
mrister / log-a-compound-object.js
Last active May 12, 2017 12:40
Loggly log a compound object
let compoundObject = {
name: {
first: 'Matthew',
last: 'Setter'
},
occupation: 'Freelance Developer & Technical Writer'
};
// log the object
log.info(compoundObject);
@mrister
mrister / create-loggly-stream-with-bunyan.js
Last active May 24, 2017 20:39
Create Loggly stream with Bunyan
const bunyan = require('bunyan');
const Bunyan2Loggly = require('bunyan-loggly');
const log = bunyan.createLogger({
name: 'logglylog',
streams: [
{
type: 'raw',
stream: new Bunyan2Loggly({
token: 'YOUR_TOKEN',
@mrister
mrister / get-loggly-from-bunyan.js
Last active May 24, 2017 20:38
Get Loggly from Bunyan
const bunyan = require('bunyan');
const Bunyan2Loggly = require('bunyan-loggly');
@mrister
mrister / multiple_wintson_loggers.js
Created May 12, 2017 07:37
Multiple Winston loggers
const production = winston.loggers.get('production');
production.info('logging from your IoC container-based logger');
const development = winston.loggers.get('development');
development.debug('logging from your IoC container-based logger - development');