Class: DohLogger::EmailAcceptor
- Defined in:
- lib/doh/logger/email_acceptor.rb
Instance Method Summary collapse
-
#initialize(smtp_server, smtp_port, from_address, to_addresses, logfile_name, subject_format = nil, body_format = DohLogger::exception_email_format) ⇒ EmailAcceptor
constructor
A new instance of EmailAcceptor.
- #log(event) ⇒ Object
Constructor Details
#initialize(smtp_server, smtp_port, from_address, to_addresses, logfile_name, subject_format = nil, body_format = DohLogger::exception_email_format) ⇒ EmailAcceptor
Returns a new instance of EmailAcceptor.
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/doh/logger/email_acceptor.rb', line 15 def initialize(smtp_server, smtp_port, from_address, to_addresses, logfile_name, subject_format = nil, body_format = DohLogger::exception_email_format) @smtp_server = smtp_server @smtp_port = smtp_port || 25 @from_address = from_address @to_addresses = to_addresses @logfile_name = logfile_name @subject_formatter = Formatter.new(subject_format || "%severity - %msg") @body_formatter = Formatter.new(body_format) @body_formatter.register_format('%logfile_name') {|event| @logfile_name} end |
Instance Method Details
#log(event) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/doh/logger/email_acceptor.rb', line 26 def log(event) subject = @subject_formatter.replace(event) body = @body_formatter.replace(event) msg = "Subject:#{subject}\nFrom:#{@from_address}\nTo:#{@to_addresses.join(', ')}\nContent-Type: text/plain\n\n#{body}" Net::SMTP.start(@smtp_server) do |smtp| begin smtp.(msg, @from_address, @to_addresses) rescue Exception => excpt puts "got exception: #{excpt.inspect}" end end end |