npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

openlog

v1.0.3

Published

An easy way to aggregate client side logging

Readme

OpenLog - An easy way to aggregate client side logging

OpenLog helps you track down client side javascript errors that you can never seem to replicate on your machine. Now errors and stack traces that happen on any machine will be readily available to you.
###Tiny overhead, client-side plugin is < 1kb gzipped!!!

Installation

#####Simple

  1. Download the latest release from the Github Releases

  2. Include the dist/capture.min.js file on any page you want to capture the errors and logs for

    <script src="path/to/capture.min.js" type="text/javascript" language="javascript"></script>
  3. Upload the entire release directory to your server and from the root OpenLog directory run

    npm install
    node server/server.js
  4. Access your instance of OpenLog at http://your-domain.here:4783, the default login credentials are

    username: openlog
    password: password
  5. That's it... No, seriously, that is it :)

#####Advanced

  1. Download the latest release from the Github Releases

  2. You can customise a few parts of OpenLog by modifying the config.inc.json in the root OpenLog directory. You can change the user and password values. As well as changing the port that OpenLog runs on.

  3. Once you have modified those values you can build you own version of OpenLog by running these commands in the root OpenLog directory

    npm install -g grunt-cli
    npm install
    grunt build
  4. You can now include the dist/capture.min.js file on any page you want to capture the errors and logs for

     <script src="path/to/capture.min.js" type="text/javascript" language="javascript"></script>
  5. Upload the entire OpenLog directory (leave behind node_modules) to your server and from the root OpenLog directory run

    npm install -g grunt-cli
    npm install
    grunt build
    node  server/server.js

Usage

If you are already logging using console.log, console.info, console.warn and console.error then OpenLog requires no extra work at all. It will capture errors globally on your page and listen to calls to the above console functions.

If you aren't currently logging using those functions you can either start logging with those functions, or call the OpenLog functions which are.
Log.info(arguments), Log.warn(arguments), Log.error(arguments). Log is a globally defined object

If you don't want to capture certain logging types you simply add a data-capture parameter to the script tag that loaded the capture.min.js file and set it to be the types of logs you wish to capture. For instance if you only want error logs data-capture="error", or if you want error and warning logs data-capture="warn error".

If your server is not runinng in the expected / default location (the hostname the script is included on at port 4783) you can specify the logging URL by setting a data-log-url="<YOUR URL HERE>" attribute on the script tag that loaded the capture.min.js.

Updating OpenLog

Fancy, smooth, no data loss updating method coming soon :)

Contributing

All PR's and issues are welcomed with open arms, just fork make your magical new feature or bugfix and throw up a PR to master.

Requirements

node.js > 0.10 npm

Author

Samuel Attard - [email protected] - https://twitter.com/marshallofsound - https://www.samuelattard.com

License

OpenLog is licensed under the MIT License - see the LICENSE file for details