Realtime log viewer with web UI, tail -f for logs with a web interface browser.
Realtime log viewer with web UI, tail -f for logs with a web interface browser.
Webpage | Demo | Docs | Download | Blog |
Logdy is a lightweight, single-binary log viewer that works just like grep, awk, sed, or jq. Simply add it to your PATH—no installation, deployment, or compilation required. It runs entirely locally, ensuring security and privacy. Read more.
# Use with any shell command
$ tail -f file.log | logdy
WebUI started, visit http://localhost:8080
# Read log files
$ logdy follow app-out.log --full-read
WebUI started, visit http://localhost:8080More use modes in the docs.
package main
import "github.com/logdyhq/logdy-core/logdy"
func main(){
logdyLogger := logdy.InitializeLogdy(logdy.Config{
ServerIp: "127.0.0.1",
ServerPort: "8080",
}, nil)
// app code...
logdyLogger.LogString("This is a message")
logdyLogger.Log(logdy.Fields{"msg": "supports structured logs too", "url": "some url here"})
}Check docs or example app.
Visit demo.logdy.dev
Visit logdy.dev for more info and detailed documentation.
Logdy is in active development, with new features being added regularly. Feedback is welcome from early adopters. Feel free to post Issues, Pull Requests and contribute in the Discussions. Stay tuned for updates, visit Logdy Blog.
The command below will download the latest release and add the executable to your system's PATH. You can also use it to update Logdy.
curl https://logdy.dev/install.sh | shOn MacOS you can use homebrew to install Logdy.
brew install logdyNavigate to releases Github page and download the latest release for your architecture.
wget https://github.com/logdyhq/logdy-core/releases/download/v0.16.0/logdy_linux_amd64;
mv logdy_linux_amd64 logdy;
chmod +x logdy;Additionally, you can add the binary to your PATH for easier access.
Whatever the below command will produce to the output, will be forwarded to a Web UI.
node index.js | logdyThe following should appear
INFO[2024-02...] WebUI started, visit http://localhost:8080 port=8080Open the URL Address and start building parsers, columns and filters.
There are multiple other ways you can run Logdy, check the docs.
go get -u github.com/logdyhq/logdy-core/logdyRead more about how to use Logdy embedded into your Go app.
For product documentation navigate to the official docs.
…It is possible to also provide some of the options as ENV variables, read more in the docs
For development, we recommend running demo mode
go run . demo 1The above command will start Logdy in demo mode with 1 log message produced per second.
You can read more about demo mode.
If you would like to develop with UI, check readme for logdy-ui for instructions how to run both together during development.
This repository uses static asset embedding during compilation. This way, the UI is served from a single binary. Before you build make sure you copy a compiled UI (follow the instructions about building) in http/assets directory. The UI is already commited to this repository, so you don't have to do anymore actions.
Look at http/embed.go for more details on how UI is embedded into the binary.
For a local architecture build:
go buildFor a cross architecture build use gox. This will generate multiple binaries (in bin/ dir) for specific architectures, don't forget to update main.Version tag.
gox \
-ldflags "-X 'main.Version=x.x.x'" \
-output="bin/{{.Dir}}_{{.OS}}_{{.Arch}}" \
-osarch="linux/amd64 windows/386 windows/amd64 darwin/amd64 darwin/arm64 linux/arm64"Once it's ready, publish the binaries in a new Github release. Again, don't forget to update the version.
ghr vx.x.x bin/No open issues yet, or sync has not completed.