Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Add structured logging to ImageBuilder

未关闭
#1,908 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
csharp

调研方向

首先定位 ImageBuilder 入口点,并检查其当前对 Microsoft.Extensions.Logging 的使用方式。然后检查 pipeline job 如何发布 artifact,并比较提议的 Serilog 和 NLog 方案。完成的标准是:控制台输出简洁、每次调用生成一条结构化 JSON 日志,并且每个 pipeline job 上传一个日志 artifact。

由索引模型根据 Issue 内容生成。

描述

area-infrastructure

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,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

dotnet/docker-tools 的其他 Issue

查看 dotnet/docker-tools 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。