Skip to content

warrenbuckley/Compact-Log-Format-Viewer

Repository files navigation

Compact Log Format Viewer 🔍 📈

A cross platform tool to read & query JSON aka CLEF log files created by Serilog

screenshot

Download

Releases are available on this GitHub Repository along on the Windows Store

Windows

English badge

MacOS

The metrics for the MacOS usage was too little & I don't currently build/release any other Apple apps, so my Apple Developer subscription lapsed. I assumed the application would still be available to download but that I would not be able to push any new updates. However it seems Apple just removes the listing :(

For now I recommend you build it manually. In future I may do auto-updates via GitHub releases instead of app stores.

Building

You will need the following installed:

  • node/npm
  • .NET Core SDK 2.2+

For OSX & Windows you can download the SDK here or install Visual Studio for Mac/Windows which includes the dotnet CLI tool
https://dotnet.microsoft.com/download
https://visualstudio.microsoft.com/vs/

Build Steps 🔨📐

  • Clone Repo
  • Open terminal in root of project
  • dotnet publish LogViewer.Server --runtime osx-x64 --output LogViewer.Server/bin/dist/osx --configuration release -p:PublishSingleFile=true generates a self contained application for our WebAPI
  • dotnet publish LogViewer.Server --runtime win-x64 --output LogViewer.Server/bin/dist/win --configuration release -p:PublishSingleFile=true same but creates the Windows version
  • Change terminal directory to LogViewer.Client folder
  • Install TypeScript if missing npm install -g typescript
  • npm install
  • tsc --watch This will compile the TypeScript files & continue to watch them
  • Open a new terminal in LogViewer.Client
  • npm run start Will run the Electron app for development with Chrome DevTools open/launched

Note: If you npm run start before you have compiled the TypeScript files then Electron will complain about not finding the entry point file. Additionally if you have also not run dotnet publish then the underlying WebAPI which we communicate with will not be running.

3rd Party Libraries 💖💖

This package uses the following libraries: