ZLogger

Zero Allocation Text/Structured Logger for .NET with StringInterpolation and Source Generator, built on top of a Microsoft.Extensions.Logging. (by Cysharp)

ZLogger reviews and mentions

Posts with mentions or reviews of ZLogger. We have used some of these posts to build our list of alternatives and similar projects.
  • Sharing Saturday #384
    1 project | /r/roguelikedev | 15 Oct 2021
    Another bit of work was on setting up a logging system. Unity's logging options look a bit poor, and they're suitable for checking when things go wrong as they print the callstack too, but for logging en masse the log file can reach a gigabyte so that's not fun. So I looked a bit around, I tried to use ZLogger which looked like a performant library but just didn't work, I got annoyed and just wrote a bunch of classes to do logging. I have a base logger class that exposes the interface, and a derived class implements the logging interface. To avoid paying logging costs out of development, I can use the preprocessor to create dummy loggers (empty classes) instead of actual loggers, so that the IL2CPP can optimize them out. At least that's what I hope, this needs testing. And apparently, one thing I learned is that interpolated strings (e.g. $"Hello there, {name}") are a bad idea for logging (although they are super convenient) because the interpolated string gets built immediately, whereas if the log string is passed with its parameters, e.g. Log("Hello there, {0}", some.complex.code.get_name()) and the log string does not need to be written because the log level is not high enough, then the parameters don't get evaluated (citation needed).

Stats

Basic ZLogger repo stats
1
1,071
9.5
11 days ago

Cysharp/ZLogger is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of ZLogger is C#.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com