Module: Eprint
- Included in:
- DrbDb, DrbForm, DrbImages, DrbListModel, DrbRelationBuilder, ManqodServer, MySQL, SQL, Users
- Defined in:
- lib/Eprint.rb
Overview
this file is part of manqod manqod is distributed under the CDDL licence the author of manqod is Dobai-Pataky Balint([email protected])
Constant Summary collapse
- TERM_COLOUR =
{ Logger::Severity::DEBUG => 33, Logger::Severity::INFO => 32, Logger::Severity::WARN => 35, Logger::Severity::ERROR => 31, Logger::Severity::FATAL => 31, Logger::Severity::UNKNOWN => 36 }
Instance Method Summary collapse
- #ecode(subject) ⇒ Object
- #edebug(subject) ⇒ Object
- #eerror(subject) ⇒ Object
- #eeval(command, context = self) ⇒ Object
- #eexception(ex, *args) ⇒ Object
- #efatal(subject) ⇒ Object
- #einfo(subject) ⇒ Object
- #eprint(subject, level = Logger::Severity::UNKNOWN) ⇒ Object
- #ewarn(subject) ⇒ Object
- #getBinding ⇒ Object
- #report_mail(subject, variables) ⇒ Object
Instance Method Details
#ecode(subject) ⇒ Object
43 44 45 |
# File 'lib/Eprint.rb', line 43 def ecode(subject) eprint(subject,Logger::Severity::UNKNOWN) end |
#edebug(subject) ⇒ Object
24 25 26 |
# File 'lib/Eprint.rb', line 24 def edebug(subject) eprint(subject,Logger::Severity::DEBUG) end |
#eerror(subject) ⇒ Object
36 37 38 |
# File 'lib/Eprint.rb', line 36 def eerror(subject) eprint(subject,Logger::Severity::ERROR) end |
#eeval(command, context = self) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/Eprint.rb', line 75 def eeval(command,context=self) ret=nil begin if context and b=context.getBinding then ret=eval(command, b) else ret=eval(command) end rescue SyntaxError, NameError => err eexception(err,:command=>command,:context=>context) end ret end |
#eexception(ex, *args) ⇒ Object
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/Eprint.rb', line 64 def eexception(ex,*args) eerror("error: #{ex}\n#{ex.backtrace.join("\n")}") report_mail(ex,{ 'error'=>ex.inspect, 'backtrace'=>ex.backtrace.join("\n"), 'class' => self.class, 'self'=>self.inspect, 'arguments' => args.inspect }) end |
#efatal(subject) ⇒ Object
39 40 41 |
# File 'lib/Eprint.rb', line 39 def efatal(subject) eprint(subject,Logger::Severity::FATAL) end |
#einfo(subject) ⇒ Object
28 29 30 |
# File 'lib/Eprint.rb', line 28 def einfo(subject) eprint(subject,Logger::Severity::INFO) end |
#eprint(subject, level = Logger::Severity::UNKNOWN) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/Eprint.rb', line 14 def eprint(subject,level=Logger::Severity::UNKNOWN) begin ManqodLogger.instance.log(level,"\e[1;37m#{self}\e[0m:\e[#{TERM_COLOUR[level]}m#{subject}\e[0m") rescue => err print("#{err}\n") ManqodLogger.instance.set_level("ERROR") retry end end |
#ewarn(subject) ⇒ Object
32 33 34 |
# File 'lib/Eprint.rb', line 32 def ewarn(subject) eprint(subject,Logger::Severity::WARN) end |
#getBinding ⇒ Object
89 90 91 |
# File 'lib/Eprint.rb', line 89 def getBinding binding end |
#report_mail(subject, variables) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/Eprint.rb', line 47 def report_mail(subject, variables) return unless ManqodLogger.instance.report_address fork{ begin msg="From: manqod@#{Socket.gethostbyname(Socket.gethostname).first}\nTo: #{ManqodLogger.instance.report_address}\nSubject: #{subject}\n" variables.each_pair{|k,v| msg="#{msg}\n#{k}: #{v}\n--------------------"} Net::SMTP.start('localhost'){ |smtp| smtp.(msg, "manqod_server", ManqodLogger.instance.report_address) einfo("report sent: #{subject} to {ManqodLogger.instance.report_address}") } rescue => err eerror("can't send error report via SMTP") end } end |