Actions
Bug #12238
closedLogger writes progname if log message is nil
Description
Please consider the following example:
logger = Logger.new($stdout)
# Log message is nil
logger.info
# I, [2016-03-31T22:04:36.684636 #4019] INFO -- : nil
logger.progname = 'prog'
# Now log message is changed to progname, is this a bug?
logger.info
# I, [2016-03-31T22:04:51.418510 #4019] INFO -- prog: prog
logger.info 'test'
# I, [2016-03-31T22:05:03.345434 #4019] INFO -- prog: test
Logger writes progname if log message is nil. Is this a bug or a known feature?
Updated by nobu (Nobuyoshi Nakada) almost 8 years ago
- Assignee set to sonots (Naotoshi Seo)
Seems intended,
Logger#add(severity, message = nil, progname = nil) { ... }
Args¶
progname
::
Program name string. Can be omitted. Treated as a message if no
message
andblock
are given.
but maybe a bug.
diff --git a/lib/logger.rb b/lib/logger.rb
index 8393806..9a05518 100644
--- a/lib/logger.rb
+++ b/lib/logger.rb
@@ -421,14 +421,16 @@
if @logdev.nil? or severity < @level
return true
end
- progname ||= @progname
if message.nil?
if block_given?
message = yield
+ progname ||= @progname
else
message = progname
progname = @progname
end
+ else
+ progname ||= @progname
end
@logdev.write(
format_message(format_severity(severity), Time.now, progname, message))
Updated by Soilent (Konstantin x) almost 8 years ago
Thanks
I see that it is supposed to be like this. Seems a bit weird though.
Updated by sonots (Naotoshi Seo) almost 8 years ago
Seems intended, so let me close.
(It is okay to change the behavior, but it looks also okay not to change the behavior)
Updated by sonots (Naotoshi Seo) almost 8 years ago
- Status changed from Open to Rejected
Actions
Like0
Like0Like0Like0Like0