Lumberjack

Lumberjack is a Logging framework. It's also my best professional pun.

Overview

ASP.Net MiniProfiler / log4net Hybrid. I love the MiniProfiler, and used it as an example for a lot of the functionality.

As we were working on Rent Manager Express we found some WebAPI endpoints that were suprisingly slow. We realized that if a customer or API partner didn't report the slowness, we had no easy way to detect it without parsing server logs.

Current Status

In Use

Core Problems

  • We didn't have good usage data for specific endpoints in the Rent Manager 12 WebAPI
  • We didn't have good performance data for specific endpoints in the Rent Manager 12 WebAPI

Lessons Learned

  • Effective logging that doesn’t slow everything down is hard
  • The Windows file API will fail for 10 seconds before it tells you it failed to write a file
  • Mining logs for helpful information is hard

Current Objectives

  • Repackage for general use (C# first, then expand to multiple languages)
  • Use serverless computing concepts to improve the performance of recording/processing the logs
  • Use data mining techniques to analyze and identify deeper performance trends in the data

Tools

  • C#
  • Ninject
  • MySQL
  • Dapper
  • Perforce
  • JIRA