我目前遇到种种问题。我可以禁用红宝石记录器的日志标头吗?
正如您所知,ruby logger在每个新创建的日志文件的顶部添加了一个日志记录标头。
"# Logfile created on %s by %s\n" % [Time.now.to_s, Logger::ProgName]
我记录的CSV文件后导入他们在仓库里,平时我就跳过与标题的第一行。看起来好像记录器中存在一个错误,因为有时记录标题会在日志文件的中间出现多次。
所以我决定把这个标题留下。令我惊讶的是,我没有发现在创建记录器时可以通过的任何论点。我想到了这样的事情:
Logger.new "info.log", :skip_header => true
但它只是不存在。我搜索的红宝石核心来源,令人惊讶真的有什么,可以防止从将日志头记录器:
def create_logfile(filename)
logdev = open(filename, (File::WRONLY | File::APPEND | File::CREAT))
logdev.sync = true
add_log_header(logdev)
logdev
end
def add_log_header(file)
file.write(
"# Logfile created on %s by %s\n" % [Time.now.to_s, Logger::ProgName]
)
end
有没有人有一个想法,我能做些什么,以防止日志标题?我在这里使用Ruby 1.8.7 302和Rails 2.3.5。简单地忽略仓库端的评论是不可能的,因为我无法控制那里的代码,如果一个日志记录行发生错误,那么简单地忽略它就会有风险。
有人知道一个记录器,允许这?你认为这是一个好主意,使用和写入纯文件?
由于提前, 汤米
太好了,谢谢!没有想到“猴子补丁”记录器,因为它被认为是肮脏的。但是对于以前和以后的调用,没有任何变化。大! – 2010-11-08 09:27:34