Switch to an vendor neutral logger interface or stdlib slog logging

Open
#2,368 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
go
Domain
observability

Research direction

Start by tracing hcsshim’s logging interface and its use of logrus. Compare the tradeoffs of a vendor-neutral injected logger with adopting log/slog, using slog-zap as an adapter example. Done means the chosen approach is defined and library consumers can provide their own logger without hcsshim coupling them to logrus.

Written by the indexing model from the issue text.

Description

hcsshim currently uses logrus to implement its own logging interface. This approach is counterintuitive when hcsshim is used as a library.

As a library consumer, I would prefer the ability to inject my own logging system. In my case, I am using log/slog from the standard library.

Adopting a stdlib logger as the standard might be a better idea, as other loggers can provide adapters for compatibility. For example, slog-zap demonstrates how such adapters can be implemented.

Dominant language
Go
Stars
694
Forks
304
Avg merge
1d 19h
Merged PRs (30d)
28

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/hcsshim

All issues in microsoft/hcsshim

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.