A cross-platform PowerShell logging module built on Serilog for structured event data to console, file, and other sinks.
PoShLog is a PowerShell module that provides structured logging capabilities for PowerShell scripts and automation tasks. It allows developers to log detailed, property-rich event data to multiple outputs like console and files, built on the robust Serilog library from the .NET ecosystem. It solves the problem of inconsistent or unstructured logging in PowerShell by offering a consistent, extensible logging framework.
PowerShell script developers, DevOps engineers, and system administrators who need reliable, structured logging for automation, monitoring, and debugging in cross-platform environments.
Developers choose PoShLog because it brings the powerful structured logging patterns of Serilog to PowerShell with a native, fluent API, eliminating the need to build custom logging solutions or deal with unstructured text logs.
:nut_and_bolt: PoShLog is PowerShell cross-platform logging module. It allows you to log structured event data into console, file and much more places easily. It's built upon great C# logging library Serilog - https://serilog.net/
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables property-rich logs with easy parsing, as shown in examples like logging {DateTime} and {@Position} for machine-readable analysis.
Provides intuitive PowerShell cmdlets such as New-Logger and Add-SinkConsole, allowing clean, pipeline-based setup without complex code.
Works seamlessly across Windows, Linux, and macOS PowerShell environments, making it ideal for DevOps and automation scripts in mixed setups.
Leverages the mature Serilog library for reliability and extensibility, bringing proven .NET logging patterns to PowerShell with minimal friction.
Requires multiple cmdlet calls (e.g., New-Logger, Add-Sink, Start-Logger) for basic logging, which can be cumbersome compared to simpler alternatives like Write-Host.
Relies on Serilog and .NET, adding runtime dependencies that may cause compatibility issues or bloat in constrained or legacy environments.
Only includes basic sinks like console and file by default; advanced outputs (e.g., databases, cloud services) require additional modules or custom development, as noted in the extensibility wiki.