使用 Tye 辅助开发 k8s 应用竟如此简单(四)
续上篇,这篇我们来进一步探索 Tye 更多的使用方法。本篇我们来了解一下如何在 Tye 中如何进行日志的统一管理。
必不可少的日志管理
对应用进行日志记录和分析是诊断排查线上问题的重要手段。而简单基于控制台或者文件的直接记录既不利于开发者直接读取也不利于大规模分析。
因此,开发者往往会选择一些诸如Exceptionless或者ELK之类的日志管理方案,来实现线上环境的日志管理。
但是,我们仍然缺少一个在开发环境小巧可用、部署简易、最小资源占用、可视化良好的日志管理方案。
故而,本案例,让我们来使用Tye中已经扩展可用的Seq工具,来作为开发环境的日志管理和可视化工具。
创建测试应用
dotnet new sln -n TyeTest
dotnet new webapi -n TyeTest
dotnet sln ./TyeTest.sln add ./TyeTest/TyeTest.csproj
tye init
通过以上命令,我们创建了一个测试的 API 项目,并且创建出了 tye.yml 文件。
直接使用tye run命令启动应用,我们其实可以在 tye dashboard 中查看到查看到以控制台方式输出的日志:

缺陷也非常明显,这种方式非常不利于阅读和分析。
启用 Seq 记录和查看日志
打开 tye.yml ,加入 seq 的扩展配置:
name: tyetest
extensions:
- name: seq
logPath: ./.logs
services:
- name: tyetest
project: TyeTest/TyeTest.csproj
从上面的配置可以看出:
- 只是增加了一个 extensions 节点。在其中设置了一个 seq 的子节点并配置了日志存储的位置。
使用tye run启动后,可以在 dashboard 中查看到启动好的 seq 服务。

打开 seq 便可以看到 seq 的查询界面:
