Add structured logging to ImageBuilder
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- csharp
调研方向
首先定位 ImageBuilder 入口点,并检查其当前对 Microsoft.Extensions.Logging 的使用方式。然后检查 pipeline job 如何发布 artifact,并比较提议的 Serilog 和 NLog 方案。完成的标准是:控制台输出简洁、每次调用生成一条结构化 JSON 日志,并且每个 pipeline job 上传一个日志 artifact。
由索引模型根据 Issue 内容生成。
描述
Adding structured logging to ImageBuilder would allow us to analyze log outputs and operate on log data using jq or other tools.
I propose that we split ImageBuilder's logging into two components:
- High-level console logging that is concise (fits on ~one terminal screen) and easily parsable by humans and LLMs.
- Detailed structured logging in json that is output to a file and published as a pipeline artifact. One log per ImageBuilder invocation. Put each log file into one folder and upload one log artifact per pipeline job.
Microsoft.Extensions.Logging does not have file logging support natively. See https://github.com/dotnet/runtime/issues/59322. There are a couple libraries that can provide this functionality through M.E.Logging.Abstractions (using ILogger) - both are popular and in active development:
NLog version 6 fully supports Native AOT/trimming so I lean towards that one.
- 主要语言
- C#
- 星标
- 182
- 派生
- 67
- 平均合并
- 2 天 58 分钟
- 30 天内合并 PR
- 16
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
dotnet/docker-tools 的其他 Issue
-
area-dockerfiles up-for-grabs
难度 2/5 1-3 小时 新手友好度 72/100
dotnet/docker-tools#2080 ·
维护者通常 1 天内回复
-
area-infrastructure
难度 5/5 一周以上 新手友好度 35/100
dotnet/docker-tools#2240 ·
维护者通常 1 天内回复
-
Rework container image rebuilds可能重新可做 @lbussell 于 83 天前认领,目前没有进行中的 PR。 未关闭area-infrastructure
dotnet/docker-tools#2166 · 1 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
image-info.json's `commitUrl` is incorrect when manifest is not in repo root可能重新可做 @lbussell 于 85 天前认领,目前没有进行中的 PR。 未关闭area-infrastructure
dotnet/docker-tools#2165 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Use image annotations to split public and internal EOL lifecycle annotations可能重新可做 @lbussell 于 78 天前认领,目前没有进行中的 PR。 未关闭area-infrastructure
dotnet/docker-tools#2153 · 已指派 1 人 ·
维护者通常 1 天内回复
查看 dotnet/docker-tools 的全部 Issue
相似的 Issue
-
[Simple] NavigationBar primary commands do not render AppBarButton.Content when it is a UIElement未关闭control/navigationbar kind/bug triage/untriaged
难度 2/5 1-3 小时 新手友好度 90/100
unoplatform/uno.toolkit.ui#1652 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
microsoft/copilot-camp#1053 ·
维护者通常 1 天内回复
-
bug effort:S P3
难度 2/5 1-3 小时 新手友好度 84/100
nightscout/nocturne#1861 ·
维护者通常 1 天内回复
-
agentic-workflows area/Docs partner/agentic-workflows
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/fluentui-blazor#5364 ·
维护者通常 1 天内回复