WriteToConsoleError 1.0.1
Adopt DotNetOutputToConsole to remove the existing dependency.
dotnet add package WriteToConsoleError --version 1.0.1
NuGet\Install-Package WriteToConsoleError -Version 1.0.1
<PackageReference Include="WriteToConsoleError" Version="1.0.1" />
<PackageVersion Include="WriteToConsoleError" Version="1.0.1" />
<PackageReference Include="WriteToConsoleError" />
paket add WriteToConsoleError --version 1.0.1
#r "nuget: WriteToConsoleError, 1.0.1"
#:package WriteToConsoleError@1.0.1
#addin nuget:?package=WriteToConsoleError&version=1.0.1
#tool nuget:?package=WriteToConsoleError&version=1.0.1
๐งฉ WriteToConsoleError
ASP.NET 4.8 utility that automatically writes unhandled server exceptions or custom messages to the browser console (
console.error), with simple configuration and helper APIs.
๐ Features
โ
Automatically logs unhandled server exceptions to browser console
โ
Manually log exceptions or messages from your code-behind
โ
Instantly inspect the current value of variables at runtime
โ
Works in Web Forms or MVC (.NET Framework 4.8)
โ
Toggleable via web.config
โ
Optional stack trace output
โ
Clean, dependency-free design
โ
Includes unit tests + sample WebForms demo
๐ฆ Installation
Install from NuGet:
Install-Package WriteToConsoleError
or manually copy the DLL into your /bin folder.
โ๏ธ Configuration (web.config)
<appSettings>
<add key="WriteToConsoleError:Enabled" value="true" />
<add key="WriteToConsoleError:ShowStack" value="false" />
</appSettings>
<system.webServer>
<modules>
<add name="WriteToConsoleErrorHttpModule"
type="WriteToConsoleError.WriteToConsoleErrorHttpModule, WriteToConsoleError" />
</modules>
</system.webServer>
The module injects JavaScript similar to:
<script>console.error('Server Error: [your message]');</script>
๐งฐ Manual Logging and Variable Inspection
Use WriteToConsoleErrorLogger anywhere in your code-behind to log exceptions, messages, or variable values directly to your browser console.
using WriteToConsoleError;
protected void Page_Load(object sender, EventArgs e)
{
string username = "Alice";
int orderCount = 5;
// You can log any variable values for quick inspection:
WriteToConsoleErrorLogger.LogMessage($"Current user: {username}");
WriteToConsoleErrorLogger.LogMessage($"Orders today: {orderCount}");
// Log an exception manually
try
{
throw new Exception("Manual test exception");
}
catch (Exception ex)
{
WriteToConsoleErrorLogger.LogToBrowser(ex);
}
}
Then open DevTools โ Console tab in your browser to see:
Server Error: Current user: Alice
Server Error: Orders today: 5
Server Error: Manual test exception
This is extremely handy when debugging legacy WebForms or MVC apps โ no need for breakpoints or Response.Write.
๐งช Example Output
Server Error: Demo exception from Default.aspx Page_Load
Server Error: Current user: Alice
Server Error: Orders today: 5
๐งฉ How It Works
| Component | Responsibility |
|---|---|
WriteToConsoleErrorHttpModule |
Hooks Application_Error and writes JavaScript console.error() output |
WriteToConsoleErrorLogger |
Provides manual logging for messages, exceptions, and variable inspection |
Config |
Reads web.config flags via System.Configuration.ConfigurationManager |
WriteToConsoleEscaper |
Escapes characters safely for inline JavaScript strings |
๐ Repository Structure
WriteToConsoleError/
โโโ src/
โ โโโ WriteToConsoleError/
โ โโโ WriteToConsoleErrorHttpModule.cs
โ โโโ WriteToConsoleErrorLogger.cs
โ โโโ Internals.cs
โ โโโ WriteToConsoleError.csproj
โโโ tests/
โ โโโ WriteToConsoleError.Tests/
โโโ samples/
โ โโโ WebFormsDemo/
โโโ README.md
๐งฐ Build & Test
dotnet restore
dotnet build -c Release
dotnet test -c Release
dotnet pack -c Release -o artifacts
Run the WebForms demo (set it as startup project in Visual Studio), open the browser console, and watch your server-side logs appear live.
๐งฉ Typical Use Cases
| Scenario | How to Use |
|---|---|
| Debug unhandled exceptions | Let the HttpModule handle it automatically |
| Trace logic paths in code-behind | WriteToConsoleErrorLogger.LogMessage("Reached step 3") |
| Check variable values | WriteToConsoleErrorLogger.LogMessage($"cartCount = {cartCount}") |
| Debug production issues safely | Disable ShowStack and leave Enabled=true |
๐ Security Notes
- Do not enable
ShowStackin production. - Use this primarily for development and QA environments.
- For full logging, integrate a dedicated logger (Serilog/NLog).
๐ค Contributing
Pull requests welcome!
Please ensure code follows SRP and includes matching unit tests.
๐ชช License
MIT License ยฉ 2025 [Your Name]
See LICENSE for details.
๐ Links
- ๐ฆ NuGet: WriteToConsoleError on nuget.org
- ๐ป GitHub: Repository Link
- ๐งช CI/CD: .github/workflows/ci.yml
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net481 is compatible. |
-
.NETFramework 4.8.1
- 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 |
|---|