eLogger
High-performance structured logging for Godot .NET, powered by ZLogger.
eLogger integrates ZLogger with Godot to provide fast, zero-allocation text and structured logging through the standard Microsoft.Extensions.Logging API.
Logs are routed directly into Godot's output and error systems, while native Godot errors and warnings can also be captured and forwarded through ZLogger. This gives C# projects a unified logging pipeline for both application and engine messages.
Features
- Zero-allocation structured logging with ZLogger
- Integration with
Microsoft.Extensions.Logging - Godot-aware log routing:
- Trace, Debug and Information → Godot output
- Warning → Godot warnings
- Error and Critical → Godot errors
- Captures native Godot warnings and errors, including script, shader and OS messages
- Optional cleaned-up exception stack traces
- Optional integration with the ePlugin logging system
- Automatic management of required ZLogger and ZString NuGet dependencies
- Designed for Godot .NET projects
Example
using Microsoft.Extensions.Logging;
using Enaweg.Logger;
using var factory = LoggerFactory.Create(logging =>
{
logging.SetMinimumLevel(LogLevel.Trace);
logging.AddZLoggerGodotDebug(options =>
{
options.PrettyStacktrace = true;
options.EPluginIntegration = true;
});
});
var logger = factory.CreateLogger("MyGame");
logger.ZLogInformation($"Player spawned at {position}");
Requirements
- Godot .NET
- .NET 8
- ePlugin
The plugin is currently tested against Godot 4.7.2 .NET and targets net8.0.
Installation
Install both eLogger and its required ePlugin dependency into your project's addons directory, then enable both plugins under:
Project → Project Settings → Plugins
When enabled, eLogger automatically adds the required ZLogger and ZString packages to your project.
Status
eLogger is currently experimental and under active development.
Contributions, bug reports, documentation improvements and pull requests are welcome.
License
MIT License
Changelog for version v0.3.2
No changelog provided for this version.