Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =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'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement