Llama Logger

NuGet Package Details

Package Name

Llamachant.ExpressApp.LlamaLogger

Overview

Llama Logger is a centralized error logging service designed to help developers track and manage exceptions across all their projects. By consolidating error logs into a single platform, it eliminates the need to manually access server log files, streamlining the debugging process.

🌟 Key Features

TIP:

In order to utilize this module, you must have a Llama Logger account set up. If you don't have Llama Logger, create a free account at www.llamalogger.com

Installation

Step 1: Install the Module

Install-Package 'Llamachant.ExpressApp.LlamaLogger'

Step 2: Setup Using your Project API Key

In your program.cs file, use LlamaLoggerTracing.Setup and LlamaLoggerTracing.Initialize along with your project API key and application version number to set up error logging.

Example:

 public static int Main(string[] args) {
    string version = Assembly.GetExecutingAssembly().GetName().Version.ToString();
    LlamaLoggerTracing.Setup("{your_api_key}", version);
    LlamaLoggerTracing.Initialize();
}

Adding Custom Data

It’s often helpful to have more context around an exception when it occurs. Llama Logger allows you to include custom data (text) to your exceptions (Standard subscription or higher required). You can add custom data globally and/or per-exception.

Adding Custom Data Globally

LlamaLoggerClient client = new LlamaLoggerClient(apikey, version);
client.AddCustomData("Server", "Server001"); //This data will be included with every exception

Adding Custom Data Per-Exception

LlamaLoggerClient client = new LlamaLoggerClient(apikey, version);
client.CustomizeLogEntry += Client_CustomizeLogEntry;

void Client_CustomizeLogEntry(object? sender, LlamaLogger.Core.CustomEventArgs.CustomizeLogEntryEventArgs e)
{
    e.LogEntry.AddCustomData("UserName", "Admin"); //This data will be included with this exception only
    e.LogEntry.AddCustomData("IP Address", "10.0.0.1"); //This data will be included with this exception only
}

Adding Attachments

Llama Logger allows you to include attachments with your exceptions (Standard subscription or higher required). Attachments can be added per-exception and should be kept small as they count towards your monthly data transfer limit.

Adding Attachments Per-Exception

LlamaLoggerClient client = new LlamaLoggerClient(apikey, version);
client.CustomizeLogEntry += Client_CustomizeLogEntry;

void Client_CustomizeLogEntry(object? sender, LlamaLogger.Core.CustomEventArgs.CustomizeLogEntryEventArgs e)
{
    byte[] screenshot = GetScreenshotData(); //Get an array of data from your choosing
    e.LogEntry.AddAttachment("Screenshot.png", screenshot);
}

byte[] GetScreenshotData() {}

Customize Entries

Before entries are sent, you can customize them using the CustomizeLogEntry event. This is an opportunity to modify information, provide additional context, or cancel the exception upload.

Ignore all exceptions of a particular type

LlamaLoggerClient client = new LlamaLoggerClient(apikey, version);
client.AddIgnoredExceptionType<ValidationException>();

Ignore exceptions per-occurrence

LlamaLoggerClient client = new LlamaLoggerClient(apikey, version);
client.CustomizeLogEntry += Client_CustomizeLogEntry;

void Client_CustomizeLogEntry(object? sender, LlamaLogger.Core.CustomEventArgs.CustomizeLogEntryEventArgs e)
{
    if (e.LogEntry.Exception is InvalidOperationException ex && ex.Message.Contains("test"))
        e.Cancel = true; //This prevents the exception from being sent to Llama Logger
}
}

More Features

For documentation on more advanced features, subscription details, and to see a walkthrough of the UI features and Organization/Project setup, please visit the Llama Logger site Here.