Skip to content

jdrews/logstation

Repository files navigation

image logstation

Tails a set of log files and serves them up on a web server with syntax colors via regex.

Binaries available in releases. See usage below.

License Security Rating Quality Gate Status Build/Test

Goals:

  • Run on anything and everything
  • Support as many browsers as possible
  • Ease deployment and usage with a single executable with minimal configuration required

image

Developed with Go and React

Usage

  • Call logstation or logstation.exe
    • It will create an logstation.conf in your current directory if one doesn't exist and exit
    • Update logstation.conf as desired
    • Call logstation or logstation.exe again
  • Navigate to http://127.0.0.1:8884 to start tailing (refer to logstation.conf for listen IP and port)

You can also use -c your-logstation.conf argument to specify a config file

Take a look at an example logstation.conf here.

Building

logstation uses goreleaser for all releases

Start by building the web frontend:

  • cd web; yarn build

To build all targets locally you can run the following in the root directory:

  • goreleaser build --snapshot --clean

If you want to build for a specific target you can set environment variables

  • In bash this would look like:
    GOOS=linux GOARCH=amd64 goreleaser build --snapshot --clean --single-target
  • In powershell this would look like:
    $env:GOOS="linux"; $env:GOARCH="amd64"; goreleaser build --snapshot --clean --single-target

Reference the releases and .goreleaser.yaml for all officially supported targets.

Releasing

  • Push a tag following semver
    • git tag -a 2.0.0-beta1 -m "2.0.0-beta1"
    • git push origin 2.0.0-beta1
  • Ensure you have an environment variable with GITHUB_TOKEN="YOUR_GH_TOKEN" and minimum of write:packages permissions
  • Release!
    • cd web; yarn build
    • cd ..; goreleaser release
  • Read the goreleaser quickstart for more details

Versions

Prior to 2.x, this app was built using Scala/Play/JS. At 2.x this app was rewritten in Go and React. If you're looking for the older versions reference the releases prior to 2.x.