LD.Sitecore.LogAnalyzer.Azure

A better version of the Azure plugin for Sitecore Log Analyzer.

This module is meant to replace the default Azure plugin that comes with Sitecore Log Analyzer.

Background

The problem with the original plugin is that the date/time filter is performed on the Timestamp column for the WADLogsTable table on your Azure table storage. This is a no-no, as this column is not indexed, so in effect the query amounts to a simple table scan. For chatty logs, this may take hours to process, or even fail altogether.

This plugin performs the query the right way, i.e. it queries on the PartitionKey column which is indexed, which leads to an efficiency gain of many orders of magnitude. For all intents and purposes, the plugin behaves in exactly the same way as the default plugin that's shipped with SCLA.

Installation and Use

Clone the repository and build the LD.SitecoreLogAnalyzer.Modules.Azure.Present project. In order to build successfully, you have to copy into the /Libraries directory the following files from SCLA's bin directory:

After building, copy LD.SitecoreLogAnalyzer.Modules.Azure.Present.dll and LD.SitecoreLogAnalyzer.Modules.Azure.dll from your output directory to SCLA's bin directory. Then, edit SitecoreLogAnalyzer.config, and add the following in the configuration/modules section:

<add name="Azure Storage Table (LD)" assembly="LD.SitecoreLogAnalyzer.Modules.Azure">
  <invoker type="LD.Sitecore.LogAnalyzer.Modules.Azure.Presentation.AzureSourceInvoker, LD.SitecoreLogAnalyzer.Modules.Azure.Present" image="..\Resources\Azure.png"></invoker>
</add>

You can use the SitecoreLogAnalyzer.Azure.config configuration file to store your Azure storage account's credentials. This file is also used by SCLA's default Azure plugin, so if you choose to use the two plugins side-by-side, you may store your credentials in a new file called SitecoreLogAnalyzer.Azure.config. This plugin will give preference to that file if it can find it.