В настоящее время я сталкиваюсь с подобной проблемой.
Как вы, возможно, знаете, средство ведения журнала ruby добавляет заголовок журнала вверху каждого вновь созданного файла журнала.
"# Logfile created on %s by %s\n" % [Time.now.to_s, Logger::ProgName]
Я регистрирую CSV-файлы, чтобы потом импортировать их на склад, обычно я просто пропускаю первую строку с заголовком.Кажется, что в журнале есть ошибка, потому что иногда заголовок журнала появляется несколько раз, прямо в середине файла журнала.
Поэтому я решил просто оставить этот заголовок вне.К моему удивлению, я не нашел аргумента, который можно было бы привести при создании логгера.Я думал о чем-то вроде этого:
Logger.new "info.log", :skip_header => true
Но этого просто нет.Я искал источники в ядре ruby и удивительно, что на самом деле нет ничего, что могло бы помешать регистратору добавить заголовок журнала:
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 здесь.Простое игнорирование комментариев на стороне хранилища невозможно, потому что я не контролирую код там, и, кажется, рискованно просто игнорировать его, если что-то пойдет не так с строкой регистрации.
Кто-тознаете регистратор, который позволяет это?Как вы думаете, было бы неплохо использовать и записать обычный файл?
Заранее спасибо, Томми