Lo stile predefinito in Ruby logger è:Come formattare il ruby logger su questo?
SeverityID, [Date Time mSeC#pid] SeverityLabel -- ProgName: message
# => D, [2013-11-25T13:31:03.451024 #38180] DEBUG -- : <message...>
e voglio fare assomiglia:
SeverityLabel [Date Time mSeC#pid]: message
# => DEBUG [2013-11-25T13:31:03.451024 #38180]: <message...>
So che posso formattarlo in questo modo:
logger.formatter = proc do |severity, datetime, progname, msg|
"severity [#{datetime}]: #{msg}\n"
end
# => DEBUG [2013-11-25 13:37:45 -0800]: <message...>
ma il datetime in proc NON assomiglia a quello mostrato in default. Ho provato con datetime_format
logger.datetime_format = "%Y-%m-%d %H:%M:%S.%L"
ma non ha alcun effetto sul mio registratore ...
Inoltre, non riesco a trovare #pid sia
ogni pensiero?
ho visto il seguente post:
e il doc:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html
Grazie alla risposta di un tizio, questo è quello che ho finito per fare :
logger.formatter = proc do |severity, datetime, progname, msg|
"#{severity} [#{datetime.strftime('%Y-%m-%d %H:%M:%S.%6N')} ##{Process.pid}]: #{msg}\n"
end
Grazie per rispondono super veloce. Che funzioni. e per il pid ho appena scoperto che posso fare Process.pid –
$$ funziona anche per pid. –