From 4c598044725748cebc1c86103e22d05fbf4b39fe Mon Sep 17 00:00:00 2001 From: Dzmitry Plashchynski Date: Tue, 3 Mar 2015 19:13:40 +0200 Subject: [PATCH] Add custom Logger --- lib/crono.rb | 1 + lib/crono/logger.rb | 14 ++++++++++++++ lib/crono/logging.rb | 2 -- spec/cli_spec.rb | 5 +++++ spec/logger_spec.rb | 11 +++++++++++ 5 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 lib/crono/logger.rb delete mode 100644 lib/crono/logging.rb create mode 100644 spec/logger_spec.rb diff --git a/lib/crono.rb b/lib/crono.rb index ccf9ced..483f399 100644 --- a/lib/crono.rb +++ b/lib/crono.rb @@ -3,6 +3,7 @@ end require "active_support/all" require "crono/version.rb" +require "crono/logger.rb" require "crono/period.rb" require "crono/schedule.rb" require "crono/config.rb" diff --git a/lib/crono/logger.rb b/lib/crono/logger.rb new file mode 100644 index 0000000..1b27ed8 --- /dev/null +++ b/lib/crono/logger.rb @@ -0,0 +1,14 @@ +module Crono + class Logger < ::Logger + include Singleton + + def initialize + super(Crono.config.daemonize ? Crono.config.logfile : STDOUT) + self.level = Logger::DEBUG + end + end + + def self.logger + Logger.instance + end +end diff --git a/lib/crono/logging.rb b/lib/crono/logging.rb deleted file mode 100644 index 987a0f8..0000000 --- a/lib/crono/logging.rb +++ /dev/null @@ -1,2 +0,0 @@ -module Crono -end diff --git a/spec/cli_spec.rb b/spec/cli_spec.rb index f36f810..dfe5d99 100644 --- a/spec/cli_spec.rb +++ b/spec/cli_spec.rb @@ -38,5 +38,10 @@ describe Crono::CLI do cli.send(:parse_options, ["--logfile", "log/crono.log"]) expect(Crono.config.logfile).to be_eql "log/crono.log" end + + it "should set daemonize" do + cli.send(:parse_options, ["--daemonize"]) + expect(Crono.config.daemonize).to be true + end end end diff --git a/spec/logger_spec.rb b/spec/logger_spec.rb new file mode 100644 index 0000000..0773569 --- /dev/null +++ b/spec/logger_spec.rb @@ -0,0 +1,11 @@ +require "spec_helper" + +describe Crono::Logger do + describe "#initialize" do + it "should initialize logger" do + expect { + Crono.logger.info("Test") + }.to_not raise_error + end + end +end