ExileCore2CustomLogger 1.0.4
dotnet add package ExileCore2CustomLogger --version 1.0.4
NuGet\Install-Package ExileCore2CustomLogger -Version 1.0.4
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="ExileCore2CustomLogger" Version="1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ExileCore2CustomLogger" Version="1.0.4" />
<PackageReference Include="ExileCore2CustomLogger" />
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 ExileCore2CustomLogger --version 1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ExileCore2CustomLogger, 1.0.4"
#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 ExileCore2CustomLogger@1.0.4
#: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=ExileCore2CustomLogger&version=1.0.4
#tool nuget:?package=ExileCore2CustomLogger&version=1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Logger
A simple ImGui-based logger class library designed specifically for ExileCore2 plugins. This is not a standalone logging solution and requires ExileCore2 and ImGui.NET to function.
Features
- ImGui-based visual logging window
- Multiple log levels (Debug, Info, Warning, Error)
- Color-coded log entries
- Thread-safe logging using ConcurrentQueue
- Auto-scrolling to latest log entries
- Maximum entry limit to prevent memory issues
- Pause/Resume logging functionality
- Log level filtering via dropdown
- JSON object logging support
- Buffer size monitoring
- Clear log functionality
- Seamless integration with ExileCore2's ImGui implementation
Requirements
- .NET 8.0
- ImGui.NET (1.91.6.1 or higher)
- Newtonsoft.Json (13.0.3 or higher)
- ExileCore2 environment
Installation
- Add the project as a reference to your ExileCore2 plugin
- Or install via NuGet:
dotnet add package ExileCore2CustomLogger
Basic Usage
// import the logger namespace
using Logger = ExileCore2CustomLogger.Logger;
// Initialize the logger with custom log level and max entries
var logLevel = LogLevel.Debug;
// or from ExileCore2 Settings
var logLevel = (LogLevel)Settings.LogLevel.Value;
var logger = new Logger(logLevel, maxEntries: 2000);
// Log messages
logger.Debug("Debug message");
logger.Info("Info message");
logger.Warning("Warning message");
logger.Error("Error message");
// Log object as formatted JSON
var myObject = new { Name = "Test", Value = 123 };
logger.LogJson(myObject);
// Render the logger window (typically in your plugin's Render method)
public override void Render()
{
if (Settings.Debug.ShowWindow)
{
logger.Render();
}
}
Configuration
The logger can be initialized with custom log level and maximum entries:
// Default: LogLevel.Info, 1000 entries
var logger = new Logger();
var logLevel = LogLevel.Debug;
// Custom configuration
var logger = new Logger(LogLevel.Debug, maxEntries: 2000);
UI Controls
- Clear: Clears all log entries
- Pause/Resume: Freezes the log display for easier reading
- Auto-scroll: Automatically scrolls to newest entries
- Log Level: Dropdown to filter minimum log level
- Buffer Size: Shows current/maximum entry count
License
MIT License
Credits
Created for use with ExileCore2 plugins.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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.
-
net8.0
- ImGui.NET (>= 1.90.0.1)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.