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/cli'
require 'smsd/cli/options'

View File

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

View File

@ -21,6 +21,10 @@ module SMSd
options[:logfile] = logfile
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|
options[:pin] = pin
end