https://github.com/jdrews/logstation
Tail log files in web browser
https://github.com/jdrews/logstation
go golang log logfile logging logs react server tail tailing webui
Last synced: 8 days ago
JSON representation
Tail log files in web browser
- Host: GitHub
- URL: https://github.com/jdrews/logstation
- Owner: jdrews
- License: apache-2.0
- Created: 2016-05-26T01:22:43.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2025-12-28T21:39:39.000Z (27 days ago)
- Last Synced: 2025-12-31T14:27:48.372Z (24 days ago)
- Topics: go, golang, log, logfile, logging, logs, react, server, tail, tailing, webui
- Language: Go
- Homepage:
- Size: 2.09 MB
- Stars: 97
- Watchers: 6
- Forks: 12
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Security: SECURITY.md
Awesome Lists containing this project
README
#  logstation #
Tails a set of log files and serves them up on a web server with syntax colors via regex.
Binaries available in [releases](https://github.com/jdrews/logstation/releases). See [usage](https://github.com/jdrews/logstation#usage) below.
[](https://opensource.org/licenses/Apache-2.0)
[](https://sonarcloud.io/summary/new_code?id=jdrews_logstation)
[](https://sonarcloud.io/summary/new_code?id=jdrews_logstation)
[](https://github.com/jdrews/logstation/actions/workflows/build-test.yml)
Goals:
- Run on anything and everything
- Support as many browsers as possible
- Ease deployment and usage with a single executable with minimal configuration required

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](logstation.default.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](logstation.default.conf).
### Building ###
logstation uses [goreleaser](https://github.com/goreleaser/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](https://github.com/jdrews/logstation/releases) and [.goreleaser.yaml](.goreleaser.yaml) for all officially supported targets.
### Releasing ###
* Push a tag following [semver](https://semver.org/)
* `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](https://goreleaser.com/quick-start/) 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.