Chickensoft.GoDotLog 1.0.2-beta8

This is a prerelease version of Chickensoft.GoDotLog.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Chickensoft.GoDotLog --version 1.0.2-beta8                
NuGet\Install-Package Chickensoft.GoDotLog -Version 1.0.2-beta8                
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="Chickensoft.GoDotLog" Version="1.0.2-beta8" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Chickensoft.GoDotLog --version 1.0.2-beta8                
#r "nuget: Chickensoft.GoDotLog, 1.0.2-beta8"                
#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 Chickensoft.GoDotLog as a Cake Addin
#addin nuget:?package=Chickensoft.GoDotLog&version=1.0.2-beta8&prerelease

// Install Chickensoft.GoDotLog as a Cake Tool
#tool nuget:?package=Chickensoft.GoDotLog&version=1.0.2-beta8&prerelease                

GoDotLog

Chickensoft Badge Discord line coverage branch coverage

Opinionated Godot logging interface and console implementation.

public class MyEntity {
  // Create a log which outputs messages prefixed with the name of the class.
  private ILog _log = new GDLog(nameof(MyClass));
}

Logs can perform a variety of common actions (and output messages if they fail automatically):

_log.Print("My message");

_log.Warn("My message");

_log.Err("My message");

// Run a potentially unsafe action. Any errors thrown from the action will
// be output by the log. An optional error handler callback can be provided
// which will be invoked before the exception is rethrown.
_log.Run(
  () => { _log.Print("Potentially unsafe action"); },
  (e) => {
    _log.Err("Better clean up after myself...whatever I did failed.");
  }
);

// Throw an assertion exception with the given message if the assertion fails.
_log.Assert(node.Name == "MyNode", "Must be valid node name.");

// Return the value of a function or a fallback value.
var result = _log.Always<T>(
  () => new Random().Next(0, 10) > 5 ? "valid value" : null,
  "fallback value"
);

// Print a decently formatted stack trace.
_log.Print(new StackTrace());

Contributing

For information on contributing, see CONTRIBUTING.md.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Chickensoft.GoDotLog:

Package Downloads
Chickensoft.GoDotTest

C# test runner for Godot. Run tests from the command line, collect code coverage, and debug tests in VSCode.

Chickensoft.GoDotNet

State machines, notifiers, and other utilities for C# Godot development.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.0 295 8/15/2024
1.1.27 124 8/15/2024
1.1.26-godot4.3.0-rc.3 4,028 8/8/2024
1.1.25-godot4.3.0-rc.2 93 8/1/2024
1.1.24-godot4.3.0-rc.1 67 7/27/2024
1.1.23-godot4.3.0-beta.3 150 7/9/2024
1.1.22-godot4.3.0-beta.2 210 6/20/2024
1.1.21-godot4.3.0-beta.1 284 5/31/2024
1.1.20 1,709 4/24/2024
1.1.19 114 4/24/2024
1.1.18-godot4.2.2-rc.1 8,506 1/26/2024
1.1.17 4,666 12/12/2023
1.1.16-godot4.2.1-rc.1 674 12/7/2023
1.1.15 197 11/30/2023
1.1.14-godot4.2.0-rc.2 1,132 11/25/2023
1.1.13-godot4.2.0-beta.5 638 11/7/2023
1.1.12-godot4.2.0-beta.2 193 10/20/2023
1.1.11 3,284 10/4/2023
1.1.10 784 8/21/2023
1.1.9 9,614 7/12/2023
1.1.8-godot4.1.0-rc.3 1,351 7/4/2023
1.1.7-godot4.1.0-rc.2 153 6/29/2023
1.1.6-godot4.1.0-rc.1 143 6/27/2023
1.1.5-godot4.1.0-beta.2 161 6/14/2023
1.1.4 295 5/19/2023
1.1.3-godot4.0.3-rc.1 360 4/27/2023
1.1.2 772 4/4/2023
1.1.1-godot4.0.2-rc.1 191 4/2/2023
1.1.0-godot4.0.2-rc.1 91 4/2/2023
1.0.2-godot.4.beta.16 113 1/30/2023
1.0.2-beta8 133 12/17/2022
1.0.2-beta6 101 11/24/2022
1.0.2-beta3 103 10/29/2022
1.0.2-beta1 185 9/17/2022
1.0.2-beta.4.0.0.17 133 2/6/2023
1.0.1 1,365 4/2/2023
1.0.1-godot4.0.2-rc.1 95 4/2/2023
1.0.1-beta1 186 9/17/2022
1.0.0 243 4/2/2023
1.0.0-beta1 217 9/17/2022
0.0.5 1,578 6/20/2022
0.0.4 1,444 6/18/2022
0.0.3 469 6/18/2022
0.0.2 461 6/18/2022
0.0.1 463 6/18/2022

Initial release.