Chapter 7. Logging
Logging is a critical piece of application infrastructure, particularly in a modern JavaScript application. A typical JavaScript application will involve events in a browser, events on the server, events related to third-party API communication, and a real need for deep profiling and analysis of application performance characteristics. Logging serves every aspect of the application business, including:
Debugging
Server operations
Security/intrusion detection
Auditing
Business analytics
Marketing
Debugging
For debugging, it’s critical to log all application errors and warnings. The log messages that serve other functions will also come in handy while you’re debugging, because they can supply context when something goes wrong.
During development, it’s often useful to log debug messages to investigate specific issues. In those scenarios, it’s useful to log:
The value of a related variable
If a particular function was called
The return value for a function call
API responses
The sequence of particular events
Sometimes it’s useful to know which functions called which at a
particular spot in your codebase. It’s possible to log a stack trace
with console.trace():
varfoo=functionfoo(){console.trace();},bar=functionbar(){foo();};bar();/*Traceat foo (repl:2:9)at bar (repl:5:1)at repl:1:1at REPLServer.self.eval (repl.js:110:21)at repl.js:249:20at REPLServer.self.eval (repl.js:122:7)at Interface.<anonymous> (repl.js:239:12)at Interface.EventEmitter.emit ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access