Add option to forward log messages to syslog
This commit is contained in:
parent
402bc883ae
commit
fb7be672fa
@ -1,3 +1,5 @@
|
||||
require 'syslog/logger'
|
||||
|
||||
require 'smsd/version'
|
||||
require 'smsd/cli'
|
||||
require 'smsd/cli/options'
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user