=begin
[================================================]
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////////]
--------------------------------------------------
SIMPLE LOG WRITER
--------------------------------------------------
Автор: DeadElf79
Версия: 1.4
--------------------------------------------------
Описание:
Записывает выводимую
информацию в файл (по
умолчанию - flow.log).
Инструкция:
$log.write "text\\n" - Записывает
текст в файл flow.log. Символ
переноса строки ( \\n )
вставляется автоматически.
wr "text" - Записывает текст в
файл flow.log и выводит
сообщение в консоль (для XP -
в окно) одновременно. При
использовании скрипта Console
Output от ForeverZero выводит
информацию на нее и в файл
одновременно.
wr "text",0 - Записывает текст,
но не ставит автоматически
символ переноса строки ( \\n ).
Используется, чтобы вывести
строку с информацией до вызова
функции и после вызова функции
записать результат ее работы
в ту же строку.
wr "text",nil,true - Записывает
в файл flow.log информацию об
ошибке (Exception.backtrace),
заменяя подстроки вида
"Section" на названия
скриптов в редакторе.
[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\////////////////////////////////////////]
[================================================]
=end
# only for VX Ace and XP
# cause nobody use VX anymore
if RUBY_VERSION.to_f==1.9
scripts=load_data(\'Data/Scripts.rvdata2\')
else
scripts=load_data(\'Data/Scripts.rxdata\')
end
$script_names=[]
scripts.each{ |item|
text=item.to_s.match(/[\\d]+([\\w_\\d]+)/)[1]
$script_names+=[ text.gsub(/x$/){\'\'} ]
}
if $DEBUG||$TEST # Rewrite only when start from Editor
$log=open(\'flow.log\',\'w\');$log.close
end
def wr(text,crlf=1,error=false)
crlf_a = crlf==nil ? 1 : crlf
$log=open(\'flow.log\',\'a\')
if $DEBUG || $TEST
print text.inspect+(crlf==1? "\\n":\'\') if RUBY_VERSION.to_i==1.9
if error
if !text.match(/Section(\\d+):/).nil?
section=text.match(/Section(\\d+):/)[1]
text.gsub!(/Section(\\d+):/) {$script_names[section.to_i]+\':Line #\'}
end
end
$log.write text.inspect[1,text.inspect.size-2].gsub(/\\\\n/){"\\n"}.gsub(/\\\\t/){"\\t"}+(crlf_a==1? "\\n":\'\')
end
$log.close
end
wr \'=\' * 75
wr Time.now.strftime("%d.%m.%y(%A)-%H:%M:%S")
wr \'=\' * 75
wr \'Initialize\'