Skip to content

Analogy-LogViewer/Analogy.LogViewer.Serilog

Repository files navigation

Analogy LogViewer Serilog Extensions Nuget

.NET Core Desktop Issues GitHub closed issues License Nuget Latest Release Commits Since Latest Release

Serilog Parser for Analogy Log Viewer.

Nuget Version Description
Analogy.LogViewer.Serilog Nuget Serilog Extension for Analogy Log viewer (this package)
Analogy.LogViewer.Serilog.Sinks Nuget Serilog 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:

Nuget Version Description
Analogy.LogViewer.gRPC Nuget Primary Analogy Log Viewer grRPC providers
Analogy.LogServer Nuget A windows Service for receiving logs
Analogy.LogServer.Clients Nuget gRPC client to pull back messages from Analogy Service
Analogy.LogViewer.Serilog.Sinks Nuget Serilog Sink for sending logs to Analogy Log server

Issues

  • Windows 10 Blocks Zip files by default. Make sure to unblocked before unzipping the files.

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