Kiel proprigas vian Rails protokolon
Ĉe mia nuna kodbazo ni havas multajn klientojn kiujn ĉiujn havas propran datumbazo. Foje en la protokolo helpemas disigi kliento de alian aŭ servprocezo de alia. Sube mi montros kiel fari tion post Rails 4.0.
Antaŭ 4.0 oni bezonas fliki Rails, nun vi povas agordi novan LogFormat
. La interfaco estas metodo call
. Jen ekzemplo:
class PropranProtokolanFormaton < Logger::Formatter
def call(severeco, tempo, programonomo, mesaĝo)
"[%s] [%d] [%5s] [%s]: %s\n" % [Kliento.nomo, Process.pid, severeco, tempo, mesaĝo]
end
end
Tiel donos al ni novan linion por la mesaĝo kaj enmetas ĝin en nova objekto. Nun ni nur bezonas agordi ĝin per la sekva linio enmetita en config/application.rb
por via Rails programo.
config.log_formatter = PropranProtokolanFormaton.new
Kaj nun vi havas vian novan formaton. Tio malsamas al etikedoj kiu enmetiĝis en Rails ankaŭ en 4.2 ĉar tio nur povas aldoni vortojn en la linio, ne tute ŝanĝi la linion.