Implement api to accept empty error
还没有人认领这个 Issue。
评估
调研方向
首先,将 log.go 中所引用的 zerolog log.Err(err) 实现与现有的 slog API 进行比较。明确提议的调用形式,并验证 nil 和非 nil 错误(包括结构化字段)的预期行为;完成的标准是 API 及其测试覆盖两个日志级别。
由索引模型根据 Issue 内容生成。
描述
Zerolog has this nifty api log.Err(err error) that is Error level if err != nil and Info level if err == nil
The basic gist to avoid this common code:
authenticated, err := auth()
if err != nil {
slog.Error(ctx, "failed to authorize user"
slog.Error(err),
slog.F("user", "alice")
)
return
}
slog.Info(ctx, "authorized user",
slog.F("user", "alice"),
)
...
and you can just do (the message becomes the action, and the Error level indicates the action failed):
authenticated, err := auth()
// Unsure exactly on the API, still adapting to slog, so unsure what would be "natural"
slog.Err(err).(ctx, "authorize user",
slog.F("user", "alice")
)
if err != nil {
return
}
...
It is a small feature I miss. Let me know what you think.
- 主要语言
- Go
- 星标
- 351
- 派生
- 23
- 平均合并
- 7 天 23 小时
- 30 天内合并 PR
- 1
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
coder/slog 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 30/100
-
feature
难度 5/5 一周以上 新手友好度 20/100
-
feature
难度 3/5 1-2 天 新手友好度 35/100
-
feature
难度 5/5 一周以上 新手友好度 20/100
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 90/100
-
enhancement
难度 2/5 1-3 小时 新手友好度 65/100
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100
santhosh-tekuri/jsonschema#276 ·