Bsd.Logger 1.0.0

dotnet add package Bsd.Logger --version 1.0.0
                    
NuGet\Install-Package Bsd.Logger -Version 1.0.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="Bsd.Logger" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bsd.Logger" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Bsd.Logger" />
                    
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 Bsd.Logger --version 1.0.0
                    
#r "nuget: Bsd.Logger, 1.0.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 Bsd.Logger@1.0.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=Bsd.Logger&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Bsd.Logger&version=1.0.0
                    
Install as a Cake Tool

Bsd.Logger

A minimal logger I made to avoid cross-referencing between my own projects.
Use it, don’t use it — I don’t care. Just don’t expect stability.

⚠️ Disclaimer

This is not a stable API.
Method names, behavior, or the whole thing might change at any time.
Use at your own risk.

🔧 Installation

Install via NuGet:

dotnet add package Bsd.Logger

Or via the .csproj file:

<PackageReference Include="Bsd.Logger" Version="x.y.z" />

✅ Basic Usage

🧪 Example

using Bsd.Logger;

using (var logger = new ConsoleLogger())
{
    // Start the logging thread, or the logger will just sit there judging you silently.
    logger.StartThread();

    // Classic "Hello, World!" — because why not.
    logger.WriteLine("Hello, World! 1");

    // Rewriting the same line a few times.
    // Useful if you're pretending to show progress or just indecisive.
    logger.ReWriteLine("Hello, World! 2");
    logger.ReWriteLine("Hello, World! 3");
    logger.ReWriteLine("Hello, World! 4");

    // A final message to commit the line to the console.
    logger.WriteLine("Hello, World! 5");

    // Throwing in an exception for good measure.
    logger.WriteException(new Exception("Test exception"));

    // And just in case someone logs an empty string... sure, why not.
    logger.WriteException("");
}

Note: StartThread() is required if you actually want output.
Without it, you're just writing to the void. Like shouting into a pillow.

❓ Why this exists

I got tired of pulling in logging dependencies just to print stuff to the console.
This is a dead simple solution to make my life easier.

❌ What it doesn't do

  • No fancy configuration
  • No structured logging
  • No sinks or targets
  • No async buffering
  • No dependency injection
  • No guarantees

💡 Looking for a "real" logger?

Check out:

📜 License

MIT. Do whatever you want.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 232 5/14/2025

A lightweight logger I use to avoid cross-project references. The interface may change without warning. Use it, don't use it — I don't care. Use at your own risk.