• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tecnickcom / gogen / 28759717689
100%

Build:
DEFAULT BRANCH: main
Ran 06 Jul 2026 12:15AM UTC
Jobs 1
Files 165
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Jul 2026 12:09AM UTC coverage: 99.97% (+0.001%) from 99.969%
28759717689

push

github

nicolaasuni
feat(logsrv)!: rewrite the slog→zerolog bridge as a native allocation-free handler

Replace github.com/samber/slog-zerolog/v2 with a native slog.Handler that writes each record's attributes directly onto a zerolog Event, eliminating the per-record map[string]any conversion; drop the samber/slog-zerolog, samber/slog-common, and samber/lo dependencies.
Make the hot paths allocation-free: the common ungrouped and common-attribute paths are 0 allocs/op (was ~14) and the grouped path is 0 allocs/op (was ~42), by baking common attributes into the zerolog context, resolving each attribute value exactly once, and recycling transient group dictionaries back to zerolog's pool.
Write the trace ID natively at the root of every record — including under WithGroup, with a caller-supplied trace_id taking precedence — instead of wrapping in a per-record handler-chain rebuild.
Emit the full syslog severity name via logutil.LevelName ("critical", "notice", "warning", ...) rather than collapsing onto zerolog's fixed level set, so logsrv and the logutil backend print identical level labels.
Serialize writes via zerolog.SyncWriter so concurrent logging to a non-thread-safe cfg.Out is race-free, matching logutil's standard-library backend.
Omit a zero record timestamp; render error values as their message string; emit nil attribute values as a null field; keep fields in insertion order.
Fix a latent bug where records at the Trace level were dropped (the base zerolog logger stayed at Debug level); enablement is now decided solely at the slog layer.
Remove the unused exported logsrv.SlogLevel. Keep 100% test coverage and clean strict golangci-lint.

BREAKING CHANGE: logsrv.SlogLevel is removed. The emitted "level" field now uses full syslog names (e.g. "warning" not "warn", "critical" not "error"); errors logged at the "error"/"err" key render as a string instead of a structured {error,kind,stack} object; nil attribute values render as null; and JSON fields are emitted in ins... (continued)

242 of 242 new or added lines in 1 file covered. (100.0%)

13268 of 13272 relevant lines covered (99.97%)

101020.37 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28759717689.1 06 Jul 2026 12:15AM UTC 165
99.97
GitHub Action Run
Source Files on build 28759717689
  • Tree
  • List 165
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28759717689
  • c8262a1e on github
  • Prev Build on main (#28756379100)
  • Next Build on main (#28802722110)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc