First off, please allow me a moment to thank all of you for your feedback, help and support during this exciting time. As you know, Glimpse for Node is in its infancy, and the team is excited to be taking the biggest step we've made yet: the release of version 0.14.1 to you, our private beta users.
This release encompasses about a month of the team's effort to really elevate the logging experience for Node developers. In fact, if you've used previous versions of Glimpse for Node, you'll notice that 0.14.1 is solely focused on logging.
Our previous releases looked a bit more like the pyramid on the left. We built in a lot of functionality, but Glimpse for Node wasn't as reliable, usable or pleasurable (that's the summit of emotional design) as we would have liked. With your awesome feedback, we've taken a step back and are trying to make sure we build something that not only are we proud of, but more importantly, something that's useful, reliable, usable and pleasurable for you. We're trying to build the pyramid on the right - even if that means we have a smaller slice of functionality for now. We still plan to build out the rest of Glimpse for Node, we're just doing it in a better way.
Next I can hear you say, "Okay, that makes sense, but why focus on logging?" The answer here is very simple: Node developers fundamentally rely on logging to debug their applications. We've heard it from nearly every one of you we've talked with, and industry data shows that over 80% of Node developers leverage console.log to debug their applications.
It may be a very basic tool, but all carpenters have a trusty hammer they reach for. console.log is the Node developer's hammer.
Now I can hear some of you saying "Yeah, but...". Don't let that thought trail off from there! Please tell us about those but's! We want to work together with you to build a tool that makes debugging and diagnosing problems in your Node applications easier. I'm encouraging you right now to open issues on this very repository with suggestions for future features and feedback on the 0.14.1 release.
Speaking of 0.14.1, here's a rundown of what it allows you to do, or, if you'll allow me to say it this way, here's how we've built a better hammer:
Signal, not Noise
Glimpse for Node gets you to the log messages that matter, faster. Our Requests panel shows you the history of requests made to your application, and when you select one, you only see the log messages that were emitted during the processing of that request.
No more grep'ing through a messy haystack of logs to find the needle. No more manually embedding "request ID's" into your logs only to string them together later. No more wasting time.
If you've still got too much noise in your logs, our easy to use filters make tracking down errors and warnings easy.
Full Power Logging
Glimpse supports the entirety of the console API in both Node, as well as the browser*, allowing you to leverage the full power of those APIs. Why simply write string messages when you can:
log() and dir() objects that you can interactively drill through?
use time() and timeEnd() to do some lightweight profiling?
leverage group(), groupCollapsed() and groupEnd() to pull together related log messages?
and take advantage of the rest of console's functionality, including: profile(), table(), count() and printf style format specifiers.
With Glimpse, you can break free of limited text files and the console so that your logs can do everything you need them to.
Full Stack Web
We love JavaScript, and not just in Node. We love JavaScript in all the places you write JavaScript. That's why Glimpse ensures that where ever you've written JavaScript, you can see those logs.
Glimpse automatically pulls together the logs from your Node backend, and from your front end browser code, allowing you to filter them. You'll never have to switch between your browser's developer tools and your console window to debug a request again.
Logging With Style
To top it all off, Glimpse let's you show you and your team's unique personality in your logs:
We support ANSI Escape Codes (Node) and %c tokens (browser) so you can colorize your log output. Do it easily with popular libraries like Chalk and Color.
Our unicode support means that you can even have some fun with emoji's and :shortcodes:! :grinning:
:skull: Critical Error!
:telephone_receiver: Call Kevin from Ops now!
Houston, we have a problem :boom:
:cookie:'s disabled
And More!
There's lots of other little features all throughout Glimpse that make working with your logs a joy. You've already done the hard part of writing all of those log messages, we want you to be able to enjoy them!
Hello all!
First off, please allow me a moment to thank all of you for your feedback, help and support during this exciting time. As you know, Glimpse for Node is in its infancy, and the team is excited to be taking the biggest step we've made yet: the release of version 0.14.1 to you, our private beta users.
This release encompasses about a month of the team's effort to really elevate the logging experience for Node developers. In fact, if you've used previous versions of Glimpse for Node, you'll notice that 0.14.1 is solely focused on logging.
You may be asking yourself, "Why does 0.14.1 have such a narrow focus when the first versions of Glimpse for Node did so much more?" It all boils down to what we believe is the right way to build and ship a Minimum Viable Product (MVP).
Our previous releases looked a bit more like the pyramid on the left. We built in a lot of functionality, but Glimpse for Node wasn't as reliable, usable or pleasurable (that's the summit of emotional design) as we would have liked. With your awesome feedback, we've taken a step back and are trying to make sure we build something that not only are we proud of, but more importantly, something that's useful, reliable, usable and pleasurable for you. We're trying to build the pyramid on the right - even if that means we have a smaller slice of functionality for now. We still plan to build out the rest of Glimpse for Node, we're just doing it in a better way.
Next I can hear you say, "Okay, that makes sense, but why focus on logging?" The answer here is very simple: Node developers fundamentally rely on logging to debug their applications. We've heard it from nearly every one of you we've talked with, and industry data shows that over 80% of Node developers leverage
console.log
to debug their applications.It may be a very basic tool, but all carpenters have a trusty hammer they reach for.
console.log
is the Node developer's hammer.Now I can hear some of you saying "Yeah, but...". Don't let that thought trail off from there! Please tell us about those but's! We want to work together with you to build a tool that makes debugging and diagnosing problems in your Node applications easier. I'm encouraging you right now to open issues on this very repository with suggestions for future features and feedback on the 0.14.1 release.
Speaking of 0.14.1, here's a rundown of what it allows you to do, or, if you'll allow me to say it this way, here's how we've built a better hammer:
Signal, not Noise
Glimpse for Node gets you to the log messages that matter, faster. Our Requests panel shows you the history of requests made to your application, and when you select one, you only see the log messages that were emitted during the processing of that request.
No more grep'ing through a messy haystack of logs to find the needle. No more manually embedding "request ID's" into your logs only to string them together later. No more wasting time.
If you've still got too much noise in your logs, our easy to use filters make tracking down errors and warnings easy.
Full Power Logging
Glimpse supports the entirety of the
console
API in both Node, as well as the browser*, allowing you to leverage the full power of those APIs. Why simply write string messages when you can:log()
anddir()
objects that you can interactively drill through?use
time()
andtimeEnd()
to do some lightweight profiling?leverage
group()
,groupCollapsed()
andgroupEnd()
to pull together related log messages?and take advantage of the rest of
console
's functionality, including:profile()
,table()
,count()
and printf style format specifiers.With Glimpse, you can break free of limited text files and the console so that your logs can do everything you need them to.
Full Stack Web
We love JavaScript, and not just in Node. We love JavaScript in all the places you write JavaScript. That's why Glimpse ensures that where ever you've written JavaScript, you can see those logs.
Glimpse automatically pulls together the logs from your Node backend, and from your front end browser code, allowing you to filter them. You'll never have to switch between your browser's developer tools and your console window to debug a request again.
Logging With Style
To top it all off, Glimpse let's you show you and your team's unique personality in your logs:
%c
tokens (browser) so you can colorize your log output. Do it easily with popular libraries like Chalk and Color.And More!
There's lots of other little features all throughout Glimpse that make working with your logs a joy. You've already done the hard part of writing all of those log messages, we want you to be able to enjoy them!
Next Steps
Glimpse for Node 0.14.1 is available from our private NPM feed right now. Just follow the installation instructions in our Readme to get started.
We hope you love this version of Glimpse. If you have any questions or comments, please don't hesitate to open an issue!
* Browser support includes the logging methods documented by the WHATWG Living Standard, Chrome, Firefox and Edge.