[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73288":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":42,"trendingCount":16,"starSnapshotCount":16,"syncStatus":43,"lastSyncTime":44,"discoverSource":45},73288,"logdy-core","logdyhq\u002Flogdy-core","logdyhq","Realtime log viewer with web UI, tail -f for logs with a web interface browser.","https:\u002F\u002Flogdy.dev",null,"Go",2224,71,6,32,0,1,10,33,3,27.57,"Apache License 2.0",false,"main",[26,27,28,29,30,31,32,33,34,35,36,37,38,39],"developer-experience","developer-productivity","golang-logger","log","log-viewer","logger","logging","logging-library","logging-server","logs","logs-view","logviewer","self-hosted","selfhosted","2026-06-12 02:03:11","# Logdy - terminal logs in web browser\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Fassets\u002F1653294\u002F9ec8cb3f-0b8f-4523-b600-377444734b9d\" height=100\u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n\u003Cstrong> \u003Ca href=\"https:\u002F\u002Flogdy.dev\">Webpage\u003C\u002Fa> | \n\u003Ca href=\"https:\u002F\u002Fdemo.logdy.dev\">Demo\u003C\u002Fa> | \n\u003Ca href=\"https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fquick-start\">Docs\u003C\u002Fa> | \n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Freleases\">Download\u003C\u002Fa> | \n\u003Ca href=\"https:\u002F\u002Flogdy.dev\u002Fblog\">Blog\u003C\u002Fa> | \u003C\u002Fstrong> \n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Factions\u002Fworkflows\u002Ftest.yml\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg\"\u002F>\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n### Latest version: 0.17.0 (1 June 2025) - [Read announcement](https:\u002F\u002Flogdy.dev\u002Fblog\u002Fpost\u002Flogdy-new-version-announcement-v017)\n\nLogdy 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](https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fwhat-is-logdy).\n\n### Key features\n* Zero-dependency single binary\n* Embedded Web UI\n* Real-time log viewing and filtering\n* Secure local operation\n* Multiple input modes (files, stdin, sockets, REST API)\n* Custom parsers and columns with TypeScript support (code editor with types support)\n* Go library integration\n\n### Standalone use\n```bash\n# Use with any shell command\n$ tail -f file.log | logdy\nWebUI started, visit http:\u002F\u002Flocalhost:8080\n\n# Read log files\n$ logdy follow app-out.log --full-read\nWebUI started, visit http:\u002F\u002Flocalhost:8080\n```\nMore use [modes in the docs.](https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fexplanation\u002Fcommand-modes)\n\n### Use as a Go library\n```go\npackage main\n\nimport \"github.com\u002Flogdyhq\u002Flogdy-core\u002Flogdy\"\n\nfunc main(){\n  logdyLogger := logdy.InitializeLogdy(logdy.Config{\n    ServerIp:       \"127.0.0.1\",\n    ServerPort:     \"8080\",\n  }, nil)\n\n  \u002F\u002F app code...\n\n  logdyLogger.LogString(\"This is a message\")\n  logdyLogger.Log(logdy.Fields{\"msg\": \"supports structured logs too\", \"url\": \"some url here\"})\n}\n```\nCheck [docs](https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fgolang-logs-viewer) or [example app](https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Fblob\u002Fmain\u002Fexample-app\u002Fmain.go).\n\n## Demo of the UI\nVisit [demo.logdy.dev](https:\u002F\u002Fdemo.logdy.dev)\n\n\n![autogenerate](https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Fassets\u002F1653294\u002Fbfe09fa8-bbba-46fa-b54d-503f796c7b57)\n\nVisit [logdy.dev](http:\u002F\u002Flogdy.dev) for more info and detailed documentation.\n\n##### Project status: New features added actively.\n\nLogdy is in active development, with new features being added regularly. Feedback is welcome from early adopters. Feel free to post [Issues](https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Fissues), [Pull Requests](https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Fpulls) and contribute in the [Discussions](https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Fdiscussions). Stay tuned for updates, visit [Logdy Blog](https:\u002F\u002Flogdy.dev\u002Fblog).\n\n## Install using script\nThe command below will download the latest release and add the executable to your system's PATH. You can also use it to update Logdy.\n\n```bash\ncurl https:\u002F\u002Flogdy.dev\u002Finstall.sh | sh\n```\n\n## Install with Homebrew (MacOS)\nOn MacOS you can use homebrew to install Logdy.\n\n```bash\nbrew install logdy\n```\n\n## Download precompiled binary\n\nNavigate to [releases](https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Freleases) Github page and download the latest release for your architecture.\n\n```bash\nwget https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-core\u002Freleases\u002Fdownload\u002Fv0.16.0\u002Flogdy_linux_amd64;\nmv logdy_linux_amd64 logdy;\nchmod +x logdy;\n```\nAdditionally, you can [add the binary to your PATH](https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fhow-tos#how-to-add-logdy-to-path) for easier access.\n## Quick start\nWhatever the below command will produce to the output, will be forwarded to a Web UI.\n```bash\nnode index.js | logdy\n```\nThe following should appear\n```\nINFO[2024-02...] WebUI started, visit http:\u002F\u002Flocalhost:8080    port=8080\n```\nOpen the URL Address and start building parsers, columns and filters.\n\nThere are multiple other ways you can run Logdy, check the [docs](https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fexplanation\u002Fcommand-modes).\n\n## Install Go library\n```bash\ngo get -u github.com\u002Flogdyhq\u002Flogdy-core\u002Flogdy\n```\n[Read more](https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fgolang-logs-viewer) about how to use Logdy embedded into your Go app.\n\n## Documentation\n\nFor product documentation navigate to the [official docs](https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fquick-start).\n\n## CLI Usage\n\n```bash\nUsage:\n  logdy [command] [flags]\n  logdy [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  demo        Starts a demo mode, random logs will be produced, the [number] defines a number of messages produced per second\n  follow      Follows lines added to files. Example `logdy follow foo.log \u002Fvar\u002Flog\u002Fbar.log`\n  forward     Forwards the STDIN to a specified port, example `tail -f file.log | logdy forward 8123`\n  help        Help about any command\n  socket      Sets up a port to listen on for incoming log messages. Example `logdy socket 8233`. You can setup multiple ports `logdy socket 8123 8124 8125`\n  stdin       Listens to STDOUT\u002FSTDERR of a provided command. Example `logdy stdin \"npm run dev\"`\n  utils       A set of utility commands that help working with large files\n\nFlags:\n      --api-key string                API key (send as a header Authorization)\n      --append-to-file string         Path to a file where message logs will be appended, the file will be created if it doesn't exist\n      --append-to-file-raw            When 'append-to-file' is set, raw lines without metadata will be saved to a file\n      --bulk-window int               A time window during which log messages are gathered and send in a bulk to a client. Decreasing this window will improve the 'real-time' feeling of messages presented on the screen but could decrease UI performance (default 100)\n      --config string                 Path to a file where a config (json) for the UI is located\n      --disable-ansi-code-stripping   Use this flag to disable Logdy from stripping ANSI sequence codes\n  -t, --fallthrough                   Will fallthrough all of the stdin received to the terminal as is (will display incoming messages)\n  -h, --help                          help for logdy\n      --max-message-count int         Max number of messages that will be stored in a buffer for further retrieval. On buffer overflow, oldest messages will be removed. (default 100000)\n  -n, --no-analytics                  Opt-out from sending anonymous analytical data that helps improve Logdy\n  -u, --no-updates                    Opt-out from checking updates on program startup\n  -p, --port string                   Port on which the Web UI will be served (default \"8080\")\n      --rotate-file-size string       If set, how big the file can grow before being rotated, used K\u002FM\u002FG to describe the size, example: 15M -> 15 megabytes (env: LOGDY_ROTATE_FILE_SIZE)\n      --ui-ip string                  Bind Web UI server to a specific IP address (default \"127.0.0.1\")\n      --ui-pass string                Password that will be used to authenticate in the UI\n  -v, --verbose                       Verbose logs\n      --version                       version for logdy\n```\n\n**It is possible to also provide some of the options as ENV variables, read more in the docs**\n\n## Development\nFor development, we recommend running `demo` mode\n```bash\ngo run . demo 1\n```\n\nThe above command will start Logdy in `demo` mode with 1 log message produced per second.\nYou can read more about [demo mode](https:\u002F\u002Flogdy.dev\u002Fdocs\u002Fdemo-mode).\n\nIf you would like to develop with UI, check [readme for logdy-ui](https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-ui) for instructions how to run both together during development.\n\n## Building\n\nThis 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](https:\u002F\u002Fgithub.com\u002Flogdyhq\u002Flogdy-ui) (follow the instructions about building) in `http\u002Fassets` directory. The UI is already commited to this repository, so you don't have to do anymore actions.\n\nLook at `http\u002Fembed.go` for more details on how UI is embedded into the binary.\n\nFor a local architecture build:\n```bash\ngo build\n```\n\n## Releasing\nFor a cross architecture build use `gox`. This will generate multiple binaries (in `bin\u002F` dir) for specific architectures, don't forget to update `main.Version` tag.\n```bash\ngox \\\n    -ldflags \"-X 'main.Version=x.x.x'\" \\\n    -output=\"bin\u002F{{.Dir}}_{{.OS}}_{{.Arch}}\" \\\n    -osarch=\"linux\u002Famd64 windows\u002F386 windows\u002Famd64 darwin\u002Famd64 darwin\u002Farm64 linux\u002Farm64\"\n```\n\nOnce it's ready, publish the binaries in a new Github release. Again, don't forget to update the version.\n\n```bash\nghr vx.x.x bin\u002F\n```\n","Logdy 是一个实时日志查看工具，提供基于Web界面的日志浏览功能。它采用Go语言开发，以单个二进制文件形式发布，无需依赖额外库或复杂配置即可运行。Logdy支持通过多种输入模式（如文件、标准输入、套接字和REST API）读取日志，并允许用户在本地安全地进行实时查看与过滤。此外，它还提供了自定义解析器及列显示的支持，并且能够作为Go库集成到其他应用程序中。适用于需要快速部署简易日志监控解决方案的开发者环境，尤其是在追求高效开发体验和生产力提升的场景下表现尤为突出。",2,"2026-06-11 03:44:51","high_star"]