Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Serilog Viewer - LinuxNew to Visual Studio Code? Get it now.
Serilog Viewer - Linux

Serilog Viewer - Linux

gluca

|
554 installs
| (0) | Free
View logs from mongo appender
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Serilog events viewer

Visual Studio Code Extention to inspect serilog events

This vscode extention allows inspection of logs created with serilog sinks here: https://github.com/serilog/serilog-sinks-mongodb.

Search in vscode pallete for "Inspect Serilog events"

As connection string format use following:

mongodb://user:pass@localhost:27017/db?authSource=admin&readPreference=primary&directConnection=true&ssl=false
note the db after last '/'
use %nn for special characters in the password
authSource=admin is optional if you define a user in the schema

Preview

Features:

- filter by time frame, level, content
- filter by expresion (similar to where clause in SQL)
- persist config file for future inspection
- shortcuts:
    - 'f' toggle filter panel
    - 'esc' toggle expression filtering
    - inside expression editor 'ctrl-up' & 'ctrl-down' sets previous or next expression in current session history
    - 'a' move time-frame back
    - 'x' move time-frame forward    
    - 'e' filter by level error
    - 'w' filter by level warning
    - 'd' filter by level debug
    - 'i' filter by level info
    - 'q' filter by level info
    - 'c' clear filter

Expression editor

  • Properties contains keys as configured by application in the C# project
  • use ' for string
  • examples:
    -> date(UtcTimeStamp) >= '2021-09-25' and date(UtcTimeStamp) <= '2021-10-02'
    -> Level in ('Error')
    -> Level in ('Error') or Properties.ThreadId in (5,14)

Serilog setup in C# project

Add serilog sink with one of:

$ dotnet add package Serilog.Sinks.MongoDB --version 5.1.1
PM> Install-Package Serilog.Sinks.MongoDB -Version 5.1.1

or in .csproj:

<PackageReference Include="Serilog.Sinks.MongoDB" Version="5.1.1" />

 var logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .Enrich.FromLogContext()
                .Enrich.WithProperty("Origin", "Sample ingest")
                .Enrich.WithAssemblyName()
                .Enrich.WithCorrelationId()
                .Enrich.WithMemoryUsage()
                .Enrich.WithProcessId()
                .Enrich.WithThreadId()
                .WriteTo.Conditional(_ => true, wt => wt.Console())
                .WriteTo.MongoDBBson(cfg =>
                {
                    // custom MongoDb configuration
                    //var mongoDbSettings = new MongoClientSettings
                    //{
                    //    UseTls = false,
                    //    AllowInsecureTls = true,
                    //    Credential = MongoCredential.CreateCredential("DBNAME", "USER", "PASSWORD"),
                    //    Server = new MongoServerAddress("127.0.0.1",27017)
                    //};

                    var mongoDbInstance = new MongoClient(
                        "mongodb://USER:PASSWORD@127.0.0.1:27017/")
                    .GetDatabase("DBNAME");

                    // sink will use the IMongoDatabase instance provided
                    cfg.SetMongoDatabase(mongoDbInstance);
                })
                .CreateLogger();

Bug reports or issues

Bug reports or issues can be reported here

Test with a fake log producer

Clone https://github.com/LucaGabi/VSE-Serilog-events-viewer.git

Inside fake-logs-producer/seqcli-dev/src/Roastery/Program.cs change these lines (24,25):

private const string ConnectionString = "...";
private const string DB = "...";

Donations

If you found the project useful and you'd like to donate

paypal

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft