fluent / fluent/fluent-logger-ruby
Discard the millisecond of the Time value
Nessuno ha ancora preso questa issue.
- Lingua principale
- Ruby
- Stelle
- 256
- Fork
- 77
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
When it fails to serialize data to MsgPack format,
it falls back to part using JSON.parse(JSON.generate(msg)).to_msgpack.
The fallback part discard the millisecond of the Time value.
There are cases where people dislike it.
Example:
require "bundler/inline"
gemfile do
source "https://rubygems.org"
gem "fluent-logger"
gem "activesupport"
end
require 'active_support/json'
log = Fluent::Logger::FluentLogger.new(nil, :host => 'localhost', :port => 24224)
log.post("myapp.access", { user: "foo", created_at: Time.now })
log.post("myapp.access", { user: "foo", created_at: Time.now.as_json })
Beforehand, it preserves milliseconds converting with as_json.
(If active_support is loaded, to_json will invoke as_json automatically.)
This behavior is preferred by default.
2025-09-19 11:54:11.000000000 +0900 incoming: {"user":"foo","created_at":"2025-09-19 11:54:11 +0900"}
2025-09-19 11:54:11.000000000 +0900 incoming: {"user":"foo","created_at":"2025-09-19T11:54:11.828+09:00"}
We need to regist custom MsgPack packer for Time object, or something...
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia in lib/fluent/logger/fluent_logger.rb intorno alle righe 233-244 e riproduci il fallback con l'esempio bundler/inline fornito usando Time.now. Confronta l'output serializzato per i valori Time con e senza ActiveSupport; il lavoro è completato quando il fallback conserva la precisione al millisecondo invece di scartarla.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- ruby
- Ambito
- backend, observability-sre
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100