From 7e121dc4a883d1e69db601bdcaac42de33e176e1 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Thu, 8 Dec 2022 12:31:30 +0900 Subject: [ruby/logger] Another performance improvement on the Formatter by using Kernel#sprintf over String#% (https://github.com/ruby/logger/pull/75) * Prefer Kernel#sprintf over String#% for formatting Strings --- lib/logger/formatter.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/logger/formatter.rb b/lib/logger/formatter.rb index 34e07bc57f..c634dbf34d 100644 --- a/lib/logger/formatter.rb +++ b/lib/logger/formatter.rb @@ -3,7 +3,7 @@ class Logger # Default formatter for log messages. class Formatter - Format = "%s, [%s #%d] %5s -- %s: %s\n" + Format = "%.1s, [%s #%d] %5s -- %s: %s\n" DatetimeFormat = "%Y-%m-%dT%H:%M:%S.%6N" attr_accessor :datetime_format @@ -13,8 +13,7 @@ class Logger end def call(severity, time, progname, msg) - Format % [severity[0, 1], format_datetime(time), Process.pid, severity, progname, - msg2str(msg)] + sprintf(Format, severity, format_datetime(time), Process.pid, severity, progname, msg2str(msg)) end private -- cgit v1.2.3