Update: I added support for HTTPS connections in the code examples below.
Loggly already supports sending in logs from your webserver via syslog or HTTP , but it’s usually a bit more involved to set up and configure than installing one of these JS bugs. We figured this was a good enough excuse to get in on the JS bug action, so we whipped up a cool solution for doing this using iframes and cross-site POSTs from your user’s browsers. We stuck the JS file on Amazon’s CloudWatch service to ensure we weren’t slowing your site down, and we made it work with our existing HTTP inputs.
Setting it Up
Once you have that included, you’ll want to include the following code, editing it slightly to include your HTTP input’s SHA-2 key as it appears on your HTTP input detail page, and setting the default logging level:
If you are using something like jQuery that provides a load event, you can drop the window.onload=function() bit and just stick the code inside whatever JS ready block you already have.
Assuming no other changes to your JS code, you’ll end up getting events flowing into your HTTP input which represent accesses to your website by remote clients. We’ll capture IP address and whatever else you send us as key/value pairs that you can use to search on, including browser width and height. Here’s an example of a search we ran through Ivan’s tally command to get the top IP access to our site over the last hour:
If you want to take it a bit further, you can actually log whatever you want out of your site’s JS. Here’s an example of how we could log a user’s subdomain stored in a cookie:
var subdomain = jQuery.cookie("cred-subdomain"); castor.info("subdomain=" + subdomain);
Using the data from your application and the power of Loggly’s search, you should be able to whip up any DIY analytics solution your heart desires.
BTW, if you using Loggly in a unique way, let us know. We’d love to chat with you, make a video, or even hire you!
Log on fellow beavers.