Home

Awesome

Analogy LogViewer Serilog Extensions Nuget <img src="./Assets/AnalogySerilog.png" align="right" width="155px" height="155px">

<p align="center">

.NET Core Desktop <a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.Serilog/issues"> <img src="https://img.shields.io/github/issues/Analogy-LogViewer/Analogy.LogViewer.Serilog" alt="Issues" /> </a> GitHub closed issues <a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.Serilog/blob/master/LICENSE.md"> <img src="https://img.shields.io/github/license/Analogy-LogViewer/Analogy.LogViewer.Serilog" img alt="License"/> </a> Nuget <a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.Serilog/releases"> <img src="https://img.shields.io/github/v/release/Analogy-LogViewer/Analogy.LogViewer.Serilog" img alt="Latest Release"/> </a> <a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.Serilog/compare/V2.1.0...master"> <img src="https://img.shields.io/github/commits-since/Analogy-LogViewer/Analogy.LogViewer.Serilog/latest" img alt="Commits Since Latest Release"/> </a>

</p>

Serilog Parser for Analogy Log Viewer.

NugetVersionDescription
Analogy.LogViewer.SerilogNugetSerilog Extension for Analogy Log viewer (this package)
Analogy.LogViewer.Serilog.SinksNugetSerilog Sink for sending logs to Analogy Log server

Supported formatters, for now, are:

  1. Compact formatting
  2. Regular Expression Parser
  3. Real Time Sink

Compact formatting

Compact formatting. The initial version is based on this project

example log:

{"@t":"2016-10-12T04:46:58.0554314Z","@mt":"Hello, {@User}","User":{"Name":"nblumhardt","Id":101}}
{"@t":"2016-10-12T04:46:58.0684369Z","@mt":"Number {N:x8}","@r":["0000002a"],"N":42}
{"@t":"2016-10-12T04:46:58.0724384Z","@mt":"Tags are {Tags}","@l":"Warning","Tags":["test","orange"]}
{"@t":"2016-10-12T04:46:58.0904378Z","@mt":"Something failed","@l":"Error", "@x":"System.DivideByZer...<snip>"}

Main screen

Regular Expression Parser

Regular Expression Parser: in this mode you need to define your custom regex to match you log format in the application settings.

Serilog Settings

for example, with the above regex: in the screenshot this example log can be parsed:

$2020-04-24 13:18:23,207|1|INFO|logsource|My Manager App Starting...
$2020-04-24 13:28:24,380|1|WARN|files|file not found
$2020-04-24 13:48:27,193|2|INFO|AppBase|Loading done

Serilog Settings

the available tags to use for parsing are:

public enum AnalogyLogMessagePropertyName
{
 Date,
 ID,
 Text,
 Category,
 Source,
 Module,
 MethodName,
 FileName,
 User,
 LineNumber,
 ProcessId,
 ThreadId,
 Level,
 Class,
 MachineName,
}

which corresponding to AnalogyLogMessage fields. Saying that, a dynamic way to read properties is to populate the AddtionalInformation property to show new columns at run time like the following image: Dynamics Columns

Real Time Sink

There is a windows GRPC Service for Sending log messages at https://github.com/Analogy-LogViewer/Analogy.LogViewer.gRPC. Analogy Log Viewer can read back those messages using the following custom Serilog Sink.

The following modules exists:

NugetVersionDescription
Analogy.LogViewer.gRPCNugetPrimary Analogy Log Viewer grRPC providers
Analogy.LogServerNugetA windows Service for receiving logs
Analogy.LogServer.ClientsNugetgRPC client to pull back messages from Analogy Service
Analogy.LogViewer.Serilog.SinksNugetSerilog Sink for sending logs to Analogy Log server

Issues

How To Use

  1. Download the latest Analogy Log Viewer from the release section (.net framework or .net Core version).
  2. Download (or Compile) this project and put the compiled DLL in the same folder as the Analogy Log Viewer.

Since May 2022