此解决方案取决于内部Logger调用链结构.因此,由Logger本身支持这将是很好的,因此它将不那么脆弱.
require 'logger'
...
module MyModule
@@_logger_ = Logger.new(STDOUT);
def self.log
@@_logger_
end
def log
@@_logger_
end
@@_logger_.formatter = proc do |severity, datetime, progname, msg|
fileLine = "";
caller.each do |clr|
unless(/\/logger.rb:/ =~ clr)
fileLine = clr;
break;
end
end
fileLine = fileLine.split(':in `',2)[0];
fileLine.sub!(/:(\d)/, '(\1');
"#{fileLine}) : #{msg}\n"
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1154 次 |
| 最近记录: |