Example #1
0
 server.close((e: any) => {
   if (e) {
     logger.error(e);
     process.exit(1);
   }
   logger.warn(`Server stopped (${signal}).`);
   process.exit();
 });
Example #2
0
    export function log(msg: any) {
        const infoLog = new (winston.Logger)({
            transports: [
                new (winston.transports.Console)({
                    colorize: true,
                    level: 'info'
                })
            ]
        });

        infoLog.info(msg);
    };
Example #3
0
    export function errorLog(msg: any) {
        const errorLog = new (winston.Logger)({
            transports: [
                new (winston.transports.Console)({
                    colorize: true,
                    level: 'error'
                })
            ]
        });

        errorLog.error(msg);
    }
Example #4
0
const shutdown = (signal: string) => {
  logger.verbose('Server is shutting down...');
  db.close();
  logger.verbose('Database connection closed...');
  server.close((e: any) => {
    if (e) {
      logger.error(e);
      process.exit(1);
    }
    logger.warn(`Server stopped (${signal}).`);
    process.exit();
  });
};
Example #5
0
/**
 * Functions for retrieving data from DB
 */

// get all items in the run number given a hash
// if following is true, get only future predictions from the timestamp
async function getAllOfRunNumber(hash, following) {
  // calculate a range of values. run numbers are per day,
  // so this gets us a list of all other predictions given the run number and a timestamp

  let unixTime = Number(hash.prdt) * 1000

  let min = new Date(unixTime)
  min.setHours(0, 0, 0)

  let max = new Date(unixTime) // have to set this again here to get us another object to operate on
  max.setHours(0, 0, 0)
  max.setDate(max.getDate() + 1)

  // only get the following predictions
  if (following) {
    min = new Date(unixTime)
  }

  var params = {
      TableName : 'cta-trains',
      KeyConditionExpression: 'rn = :rn and prdt BETWEEN :min AND :max',
      ExpressionAttributeValues: {
          ':min': min.getTime() / 1000,
          ':max': max.getTime() / 1000,
          ':rn': Number(hash.rn)
      }
  };

  try {
    let query = await dynamo.queryAsync(params)
    return query.Items
  } catch (error) {
    logger.warning(error)
  }
};
process.on('exit', () => {
	logger.info('Hello stopping');

	if(server !== undefined) {
		server.close();
	}
});
Example #7
0
    export function saveErrorLogFile(err, req, res, next) {
        if(!fs.existsSync('logs')){
            fs.mkdirSync('logs');
        }
        if(!fs.existsSync('logs/error')){
            fs.mkdirSync('logs/error');
        }
        if(err.status >= 400) {
            let meta: any = {
                ip:  req.headers['x-forwarded-for'] || req.connection.remoteAddress,
                req: {},
                res: {}
            };

            meta.req.url = req.originalUrl || req.url;
            meta.req.method = req.method;
            meta.req.httpVersion = req.httpVersion;
            meta.req.query = req.query || '';
            meta.req.params = req.params || '';
            meta.req.body = req.body || '';
            meta.req['accept-language'] = req.headers['accept-language'];
            meta.req['accept-language'] = req.headers['user-agent'];
            meta.responseTime = res.responseTime;
            meta.res.statusCode = res.statusCode;
            meta.error = err;

            errorFileLog.log('error', '', meta);
        }

        next(err);
    }
Example #8
0
export function info(args:Array) {
    var text = '';
    for (var i = 0; i < args.length; i++) {
        var obj = args[i];
        text += colors.magenta(obj);
    }
    logger2.info(text);
}
Example #9
0
const init = () => {

  let quipLevels = {
    levels: {
      error: 0,
      warn: 1,
      info: 2,
      verbose: 3,
      debug: 4,
      silly: 5
    },
    colors: {
      error: 'red',
      warn: 'yellow',
      info: 'green',
      verbose: 'blue',
      debug: 'purple',
      silly: 'pink'
    }
  };

  let quipTransports = [
    new (winston.transports.Console) ({ 
      colorize: true,
      level: (process.env.NODE_ENV == 'development') ? 'debug' : 'info',
      handleExceptions: true,
      json: false
    }),
    new (winston.transports.File) ({ 
      colorize: false,
      filename: 'log/quip.log', 
      handleExceptions: true,
      json: true,
      level: 'warn', 
      maxsize: 5242880,
      maxFiles: 5
    })
  ];

  logger = new (winston.Logger) ({ 
    levels: quipLevels.levels, 
    transports: quipTransports 
  });

  logger.debug("Initiated logging.");
};
Example #10
0
 setVerbosity (v: LoggerOptions["level"]) {
     this.logger.configure({
         level: v,
         transports: [new winston.transports.Console()],
         format: winston.format.combine(
             winston.format.colorize({ all: true }),
             logFmt
         )
     })
 }