Advertisement
Guest User

nodejs emitter error

a guest
Sep 17th, 2013
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var config = require('./config')
  2. var http = require('http'),
  3.     format = require('util').format,
  4.     url = require('url'),  
  5.     db = require('mongoskin').db(config.mongo['host'] + ':' + config.mongo['port'] + '/company_logs?auto_reconnect=true' , {safe:true});
  6.  
  7. //var emitter = require('events').EventEmitter();
  8. //emitter.setMaxListeners(100);
  9.  
  10. process.on('uncaughtException', function(err) {
  11.     console.log('Caught exception: ' + err);
  12.     process.exit(1);
  13. });
  14.  
  15. var UAParser = require('ua-parser-js');
  16. var parser = new UAParser();
  17.  
  18. var logger = require('./logger');
  19.  logger.debugLevel = 'warn';
  20.  logger.log('info', 'Everything started properly.');
  21.  logger.log('warn', 'Running out of memory...');
  22.  logger.log('error', { error: 'flagrant'});
  23.  
  24. var handleFavicon = function (req, res) {
  25.         res.writeHead(200, {'Content-Type': 'image/x-icon'} );
  26.         res.end();
  27.         console.log('favicon requested');
  28.         return;
  29. };
  30.  
  31. var insertErrorLog = function (req, res) {
  32.         var pathname = url.parse(req.url).pathname;
  33.         var ua = req.headers['user-agent'];     // user-agent header from an HTTP request
  34.         var details = parser.setUA(ua).getResult();
  35.         var params = url.parse(req.url,true).query;
  36.         req.collection = db.collection('logs');
  37.         req.collection.insert({
  38.                 'category' : params.category,
  39.                 'event' : params.event,
  40.                 'data' : params.data,
  41.                 'type': params.type,
  42.                 'timestamp': new Date(),
  43.                 'browserName': details.browser['name'],
  44.                 'browserVersion': details.browser['version'],
  45.                 'osName': details.os['name'],
  46.                 'osVersion': details.os['version'],
  47.                 'ip': req.connection.remoteAddress,
  48.                 'referer': req.headers['Referer'],
  49.                 'userAgent': ua
  50.         }, function(err, doc){
  51.                 res.end('Data Inserted\n');
  52.         });
  53. };
  54.  
  55. var notFound = function (req, res) {
  56.         res.writeHead(400, {});
  57.         res.end("<h1>404 - Not Found</h1>");
  58.         console.log('404 - Not Found');
  59.         return;
  60. };
  61.  
  62. // error_logs
  63. var app = http.createServer(function (req, res) {
  64.         res.writeHead(200, {'Content-Type': 'text/plain'});
  65.         if (req.url === '/favicon.ico') {
  66.                 return  handleFavicon(req, res);
  67.         }
  68.         if (req.url.indexOf('/company_logs') >= 0) {
  69.                 return insertErrorLog(req, res);
  70.         }
  71.         return notFound(req, res);
  72. }).listen(5000);
  73. app.setMaxListeners(0);
  74.  
  75. console.log('Server running at localhost:5000/');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement