Logdy 是一个单一可执行文件,你可以将它添加到 PATH 中,使其像其他工具一样可用:grep、awk、sed、jq。无需安装、部署或编译。它在本地运行,因此也很安全。了解更多。
# 与任何 shell 命令一起使用 $ tail -f file.log | logdy INFO[2024-02...] WebUI 已启动,访问 http://localhost:8080 port=8080
package main import "github.com/logdyhq/logdy-core/logdy" func main(){ logdyLogger := logdy.InitializeLogdy(logdy.Config{ ServerIp: "127.0.0.1", ServerPort: "8080", }, nil) logdyLogger.LogString("日志消息") <-context.Background().Done() }
访问 logdy.dev 获取更多信息。
Logdy 正在积极开发中,还有很多功能有待添加。欢迎早期采用者提供反馈。随时发布 Issues、Pull Requests 并参与 Discussions。请关注更新,访问 Logdy 博客。
以下命令将下载最新版本并将可执行文件添加到系统的 PATH 中。你也可以用它来更新 Logdy。
$ curl https://logdy.dev/install.sh | sh
在 MacOS 上,你可以使用 homebrew 安装 Logdy。
$ brew install logdy
导航到 Github 上的 releases 页面,为你的架构下载最新版本。
wget https://github.com/logdyhq/logdy-core/releases/download/v0.12.0/logdy_linux_amd64; mv logdy_linux_amd64 logdy; chmod +x logdy;
此外,你可以将二进制文件添加到 PATH 以便更轻松地访问。
以下命令产生的任何输出都将转发到 Web UI。
node index.js | logdy
应该会出现以下内容
INFO[2024-02...] WebUI 已启动,访问 http://localhost:8080 port=8080
打开 URL 地址并开始构建解析器、列和过滤器。
你还可以通过多种其他方式运行 Logdy,查看文档。
$ go get -u github.com/logdyhq/logdy-core/logdy
阅读更多关于如何在 Go 应用中嵌入使用 Logdy 的信息。
产品文档请访问官方文档。
用法: logdy [命令] [标志] logdy [命令] 可用命令: completion 为指定的 shell 生成自动完成脚本 demo 启动演示模式,将生成随机日志,[数字] 定义每秒生成的消息数 follow 跟踪添加到文件的行。例如 `logdy follow foo.log /var/log/bar.log` forward 将 STDIN 转发到指定端口,例如 `tail -f file.log | logdy forward 8123` help 关于任何命令的帮助 socket 设置一个端口以监听传入的日志消息。例如 `logdy socket 8233`。你可以设置多个端口 `logdy socket 8123 8124 8125` stdin 监听提供的命令的 STDOUT/STDERR。例如 `logdy stdin "npm run dev"` utils 一组帮助处理大文件的实用命令 标志: --append-to-file string 将消息日志追加到的文件路径,如果文件不存在则创建 --append-to-file-raw 当设置 'append-to-file' 时,原始行(不带元数据)将保存到文件中 --bulk-window int 收集日志消息并批量发送到客户端的时间窗口。减小此窗口将改善屏幕上呈现消息的"实时"感,但可能降低 UI 性能(默认 100) --config string 存储 UI 配置(json)的文件路径 --disable-ansi-code-stripping 使用此标志禁止 Logdy 去除 ANSI 序列代码 -t, --fallthrough 将所有接收到的 stdin 原样传递到终端(将显示传入的消息) -h, --help logdy 的帮助 --max-message-count int 缓冲区中存储以供进一步检索的最大消息数。缓冲 区溢出时,将删除最旧的消息。(默认 100000) -n, --no-analytics 选择不发送有助于改进 Logdy 的匿名分析数据 -u, --no-updates 选择不在程序启动时检查更新 -p, --port string Web UI 将运行的端口(默认 "8080") --ui-ip string 将 Web UI 服务器绑定到特定 IP 地址(默认 "127.0.0.1") --ui-pass string 用于在 UI 中进行身份验证的密码 -v, --verbose 详细日志 --version logdy 的版本
对于开发,我们建议运行 demo
模式
go run . demo 1
上述命令将以 demo
模式启动 Logdy,每秒产生 1 条日志消息。
你可以阅读更多关于演示模式的信息。
如果你想开发 UI,请查看 logdy-ui 的 readme 以获取在开发期间如何同时运行两者的说明。
此存储库在编译期间使用静态资源嵌入。这样,UI 就可以从单个二进制文件中提供服务。在构建之前,请确保你将编译好的 UI(按照构建说明进行)复制到 assets
目录中。UI 已经提交到此存储库中,所以你不需要再做任何操作。
查看 embed.go
以了解更多关于 UI 如何嵌入到二进制文件中的详细信息。
对于本地架构构建:
go build
对于跨架构构建,使用 gox
。这将为特定架构生成多个二进制文件(在 bin/
目录中),不要忘记更新 main.Version
标签。
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"
准备就绪后,在新的 Github 发布中发布这些二进制文件。再次提醒,不要忘记更新 版本号。
ghr vx.x.x bin/