Bia.LogViewer.Core 0.1.0

dotnet add package Bia.LogViewer.Core --version 0.1.0
                    
NuGet\Install-Package Bia.LogViewer.Core -Version 0.1.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="Bia.LogViewer.Core" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bia.LogViewer.Core" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Bia.LogViewer.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Bia.LogViewer.Core --version 0.1.0
                    
#r "nuget: Bia.LogViewer.Core, 0.1.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.
#:package Bia.LogViewer.Core@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Bia.LogViewer.Core&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Bia.LogViewer.Core&version=0.1.0
                    
Install as a Cake Tool

Bia.LogViewer

.NET C# Build Status codecov License

Reusable Avalonia log viewer control with filtering for .NET applications. Built with SukiUI and Material.Icons.

Cross-platform, trimmable and AOT/NativeAOT compatible.

⭐ Please star this project if you like it. ⭐

Usage | Development

Packages

Package NuGet Description
Bia.LogViewer.Core NuGet Core abstractions: LogModel, ILogEntrySource, IClipboardService
Bia.LogViewer.Avalonia NuGet Avalonia UserControl + LogViewerViewModel with filtering UI

All packages are cross-platform, trimmable and AOT/NativeAOT compatible.

Features

  • Log level filtering — toggle Info, Warning, Error, Critical independently via bitmask
  • Auto-scroll — automatically scrolls to the latest log entry
  • Copy on select — optionally copies selected log message to clipboard
  • Per-level counters — real-time count badges for each severity level
  • Observable source — uses ObservableCollections for high-performance reactive updates

Usage

1. Implement the interfaces

// Provide log entries from your logging pipeline
public class MyLogSource : ILogEntrySource
{
    public IReadOnlyObservableList<LogModel>? Entries { get; }
}

// Platform clipboard integration
public class MyClipboard : IClipboardService
{
    public async Task CopyToClipboardAsync(string? text)
    {
        // Use Avalonia's clipboard API
    }
}

2. Create the ViewModel and bind it

var vm = new LogViewerViewModel(logSource, clipboardService);

3. Use the control in AXAML

<logViewer:LogViewerControl DataContext="{Binding LogViewerVm}" />

Development

dotnet tool restore
dotnet build -c Release
dotnet test
dotnet csharpier format .
dotnet format style
dotnet format analyzers

License

MIT

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

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Bia.LogViewer.Core:

Package Downloads
Bia.LogViewer.Avalonia

Reusable Avalonia log viewer control with filtering for .NET applications. Cross-platform, trimmable and AOT/NativeAOT compatible.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 393 4/3/2026
0.0.0-alpha.0.6 41 4/3/2026