NLog.Targets.MauiLog 8.0.0

Prefix Reserved
dotnet add package NLog.Targets.MauiLog --version 8.0.0                
NuGet\Install-Package NLog.Targets.MauiLog -Version 8.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NLog.Targets.MauiLog" Version="8.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NLog.Targets.MauiLog --version 8.0.0                
#r "nuget: NLog.Targets.MauiLog, 8.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NLog.Targets.MauiLog as a Cake Addin
#addin nuget:?package=NLog.Targets.MauiLog&version=8.0.0

// Install NLog.Targets.MauiLog as a Cake Tool
#tool nuget:?package=NLog.Targets.MauiLog&version=8.0.0                

NLog.Targets.MauiLog

NLog Target for debugging on MAUI / Xamarin Mobile Platforms:

  • Apple iOS / MacOS - Unified Logging OSLog (replacement of print and NSLog)
  • Android - Android.Util.Log / LogCat
  • NetStandard - System.Diagnostics.Debugger.Log

Version AppVeyor

How to setup NLog in MAUI

  1. Install the NLog packages

    • Install-Package NLog.Targets.MauiLog
    • Install-Package NLog.Extensions.Logging

    or in your csproj (Use ver. 8 for NET8, and ver. 7 for NET7 etc.):

    <PackageReference Include="NLog.Targets.MauiLog" Version="8.*" />
    <PackageReference Include="NLog.Extensions.Logging" Version="8.*" />
    
  2. Add NLog to the MauiApp

    Update MauiProgram.cs to include NLog as Logging Provider:

    var builder = MauiApp.CreateBuilder();
    
    // Add NLog for Logging
    builder.Logging.ClearProviders();
    builder.Logging.AddNLog();
    

    If getting compiler errors with unknown methods, then update using-section:

    using Microsoft.Extensions.Logging;
    using NLog;
    using NLog.Extensions.Logging;
    
  3. Load NLog configuration for logging

    Add the NLog.config-file into the Application-project as assembly-resource (Build Action = embedded resource), and load like this:

    NLog.LogManager.Setup().RegisterMauiLog()
        .LoadConfigurationFromAssemblyResource(typeof(App).Assembly);
    

    Alternative setup NLog configuration using fluent-API:

    var logger = NLog.LogManager.Setup().RegisterMauiLog()
                     .LoadConfiguration(c => c.ForLogger().FilterMinLevel(NLog.LogLevel.Debug).WriteToMauiLog())
                     .GetCurrentClassLogger();
    

Configuration options for MAUI Log Target

  • Layout - LogEvent message layout
  • Category - LogEvent category layout (optional)

Example NLog.config-file:

<nlog>
<extensions>
    <add assembly="NLog.Targets.MauiLog" />
</extensions>
<targets>
    <target name="mauilog" type="MauiLog" />
</targets>
<rules>
    <logger name="*" minLevel="Info" writeTo="mauilog" />
</rules>
</nlog>

See also Logging Unhandled Exceptions

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-android34.0 is compatible.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-ios17.0 is compatible.  net8.0-maccatalyst was computed.  net8.0-maccatalyst17.0 is compatible.  net8.0-macos was computed.  net8.0-macos14.0 is compatible.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

  • net8.0-android34.0

  • net8.0-ios17.0

  • net8.0-maccatalyst17.0

  • net8.0-macos14.0

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.0 14,129 1/9/2024
7.0.0 288 1/9/2024
6.0.0 109 1/9/2024
5.2.1 9,405 10/16/2023
5.2.0 6,289 5/30/2023
1.0.4 2,159 4/11/2023
1.0.3 155 4/10/2023
1.0.2 6,196 11/22/2022
1.0.1 911 10/25/2022
1.0.0 448 9/17/2022

- Removed Xamarin TargetFrameworks

See https://github.com/NLog/NLog.Targets.MauiLog for documentation of NLog targets for MAUI