Add option to forward log messages to syslog

This commit is contained in:
Guillaume DOTT 2013-11-26 15:58:59 +01:00
parent 402bc883ae
commit fb7be672fa
3 changed files with 18 additions and 5 deletions

View File

@ -1,3 +1,5 @@
require 'syslog/logger'
require 'smsd/version' require 'smsd/version'
require 'smsd/cli' require 'smsd/cli'
require 'smsd/cli/options' require 'smsd/cli/options'

View File

@ -13,6 +13,9 @@ module SMSd
init_logger init_logger
@modem = Biju::Hayes.new(options[:modem], pin: options[:pin]) @modem = Biju::Hayes.new(options[:modem], pin: options[:pin])
rescue Errno::ENOENT => e
logger.warn e.message
exit
end end
def run def run
@ -34,12 +37,16 @@ module SMSd
private private
def init_logger def init_logger
@logger = Logger.new( if @options[:syslog]
Util::MultiIO.new(STDOUT, @logger = Syslog::Logger.new($PROGRAM_NAME)
File.open(@options[:logfile] || 'smsd.log', 'a'))) else
@logger = Logger.new(
Util::MultiIO.new(STDOUT,
File.open(@options[:logfile] || 'smsd.log', 'a')))
logger.formatter = proc do |severity, datetime, progrname, msg| logger.formatter = proc do |severity, datetime, progrname, msg|
"#{$PROGRAM_NAME}: #{datetime} [#{severity}] #{msg}\n" "#{$PROGRAM_NAME}: #{datetime} [#{severity}] #{msg}\n"
end
end end
end end

View File

@ -21,6 +21,10 @@ module SMSd
options[:logfile] = logfile options[:logfile] = logfile
end end
opts.on('-s', '--[no-]syslog', 'Use syslog as logger') do |syslog|
options[:syslog] = syslog
end
opts.on('-p', '--pin PIN', 'Specify the SIM PIN') do |pin| opts.on('-p', '--pin PIN', 'Specify the SIM PIN') do |pin|
options[:pin] = pin options[:pin] = pin
end end