Application Logging for Fun and Profit

By Jane Prusakova

Elevator Pitch

Logging is the best, and often the only, way to know exactly how an application is used. Better logging is invaluable when something goes wrong. Logs also provide insight on improving the system. Better logging allows to avoid debugging, simplify monitoring, and collect usage data .

Description

It is possible and usually desirable to design software systems for easier maintenance. One of the most useful features that greatly improves applications maintainability is good logging. Well-designed logs can show overall application health, help trace application logic and flow, research specific errors and locate the root cause of bugs with great accuracy. Logging is one of the few tools that consistently produce good results for systems deployed on a Cloud, multi-threaded environments, outsourced development and maintenance.

Even more importantly, logs provide invaluable data on how application is accessed and used, where user experience or application architecture can be improved, how UI structure supports different kinds of users.

In current technology landscape where debugging is often not feasible, experiments are expensive, and cost of downtime is sky-high, properly designed logging architecture and consequent log analysis can mean the difference between hitting the SLAs and missing the mark.

This talk will cover how to design, implement, and take advantage of application logs. Design patterns and techniques in logging, useful tools that allow to zoom into and research particular problems using logs. What to avoid when logging, Finally, we’ll talk about the trade-offs involved in making decisions about logging. Time permitting, we’ll talk about log analysis tools to help make sense of large log files as well.

Notes

This talk is about understanding and better using logging as a concept first, and about technologies, techniques and tools second. It leads into many a discussion with application architects and senior developers, but it is also a great teaching workshop that junior to mid-level developers will benefit from.