Note : Not recommended for production use as per the current state of the application.

About

Logerr Remote helps you log JavaScript exceptions remotely. Application is in beta stage as its not quiet mature yet to release it as stable. As of now, application shows you recent 20 exceptions which are logged remotely with details such as error, line number, file name, client timestamp, browser etc.

View Project on Github

I'll be updating app every week with powerful features to make logging helpful, easy to debug. Please refer to feature list for more information.


Note: Please don't use this application on production for now as data isn't validated.


Features

Logerr remote will soon be filled with useful features, for now, you will be able to use below features

  • 20 recent JavaScript exceptions (Can be increased in config)
  • Shows full exception details including client browser, timestamp
  • Realtime exception logging using websockets
  • Desktop Notifications

Whats next?

  • Lazy loading errors (no more limit of 20)
  • Unique exception list only with exception count
  • Minified file mapping
  • Analytics, graphs on dashboard
  • Reports, exports

Setup

NodeJS

Get an appropriate package based on your OS from here.

Install Node Modules

Navigate to the project directory from your command line and use the below command to install required modules.

npm install

Included modules (Dependencies) :

  • body-parser
  • ejs
  • express
  • mysql
  • socket.io
  • useragent

Included modules (Dev Dependencies) :

  • browser-sync
  • gulp
  • gulp-autoprefixer
  • gulp-clean-css
  • gulp-rename
  • gulp-sass
  • gulp-uglify

Database

Create a database name Logerr and Import DB dump from db/logerr_2016-10-23.sql (migration coming soon)

Configure

Refer Configuration section for further information.

Compile Assets

gulp //runs on port 8080 by default

Run Node Server

node server.js //runs on port 8080 by default

Config

Database Configuration(app/engine/config/DBConfig.js)

//database default configuration

{
  HOST: 'localhost', //database host
  USER: 'root',      //database user
  PASS: '',          //database password
  NAME: 'logerr'     //database name
}

Gulp Configuration(app/engine/config/GULPConfig.js)

//gulp default configuration
{
  bSync: { //browsersync config
    baseDir: 'app',
    proxy: 'http://localhost:8080', //set proxy for live reload
    port: 8080
  },
  css: {
    basePath: 'src/stylesheets/**/*.scss', //path to watch + compile
    outputPath: 'app/assets/stylesheets', //path to output compiled files
    fileSuffix: '.min' //suffix for minified files
  },
  js: {
    basePath: 'src/scripts/**/*.js', //path to watch + compile
    outputPath: 'app/assets/scripts', //path to output compiled files
    fileSuffix: '.min' //suffix for minified files
  },
  views: {
    basePath: 'app/*.ejs' //watch view file change
  },
  autoprefixer: {
    condition: 'last 3 version' //autoprefix for
  }
}

Using with Logerr.js

You need to set remoteLogging to true. Point remoteSettings url parameter to the url you have deployed your logerr remote on Refer Logerr.js documentation for more information.


Report Bugs

Bugs and requests, submit them through the project's issues section


Feature Request

Create an issue in issues section of the repository keeping [Feature Request] as a prefix in the title.