Skip to content

IISParser is a PowerShell module to read IIS logs. It's very fast and easy to use. This module is based on IISLogParser library that does all the heavy lifting.

License

Notifications You must be signed in to change notification settings

EvotecIT/IISParser

Repository files navigation

IISParser - Modern IIS Log Parser for .NET and PowerShell

IISParser is available as a PowerShell module from the PowerShell Gallery. It is a native C# rewrite with C# cmdlets, completely dependency-free. This project is inspired by the discontinued IISLogParser by Kabindas.

📦 PowerShell Module

powershell gallery version powershell gallery preview powershell gallery platforms powershell gallery downloads

📦 NuGet Package

nuget version nuget downloads

🛠️ Project Information

top language license build status build status codecov

👨‍💻 Author & Social

Twitter follow Blog LinkedIn Threads Discord


What it's all about

IISParser is a modern, fast IIS log parser for PowerShell and .NET:

  • Fully implemented in C#
  • Provides native PowerShell cmdlets
  • No external dependencies
  • Cross-platform (Windows, Linux, macOS with PowerShell 7+)

Originally, IISLogParser handled IIS log parsing. After it was discontinued, IISParser continues the concept as a self-contained modern implementation.


Installation

Install-Module -Name IISParser -Scope CurrentUser

To use IISParser in a .NET project:

dotnet add package IISParser

Updating

Update-Module -Name IISParser

Tip: Restart PowerShell if the module was already loaded.


Usage Examples

PowerShell

Import-Module IISParser

# Get first and last 5 lines from IIS log
Get-IISParsedLog -FilePath "C:\Logs\u_ex220507.log" | Select-Object -First 5
Get-IISParsedLog -FilePath "C:\Logs\u_ex220507.log" | Select-Object -Last 5

# Skip and filter
Get-IISParsedLog -FilePath "C:\Logs\u_ex220507.log" -First 5 -Last 5 -Skip 1

Detailed output:

Get-IISParsedLog -FilePath "C:\Logs\u_ex220507.log" -First 1 -Skip 1 | Format-List

.NET

using IISParser;

var parser = new ParserEngine("C:\\Logs\\u_ex220507.log");

foreach (var record in parser.ParseLog())
{
    Console.WriteLine($"{record.Timestamp:o} {record.UriPath}");
}

Credits

  • Original inspiration: IISLogParser by Kabindas

About

IISParser is a PowerShell module to read IIS logs. It's very fast and easy to use. This module is based on IISLogParser library that does all the heavy lifting.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published