summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorash <smashwilson@gmail.com>2013-05-16 23:30:35 +0000
committerash <smashwilson@gmail.com>2013-05-16 23:30:35 +0000
commite5f4130aeaeb6ba16d42032c8e574c147ca9d51d (patch)
treec64b2a8c247bad9e66df53e465d19f1d1d479f3a
parent5519420e3efefa651f0a74db9d9d6027dfc23ed8 (diff)
downloadgitlab-shell-e5f4130aeaeb6ba16d42032c8e574c147ca9d51d.tar.gz
Add the logger and related configuration options.
-rw-r--r--lib/gitlab_config.rb8
-rw-r--r--lib/gitlab_logger.rb16
2 files changed, 24 insertions, 0 deletions
diff --git a/lib/gitlab_config.rb b/lib/gitlab_config.rb
index ede554d..5b341a9 100644
--- a/lib/gitlab_config.rb
+++ b/lib/gitlab_config.rb
@@ -31,6 +31,14 @@ class GitlabConfig
redis['namespace'] || 'resque:gitlab'
end
+ def log_file
+ @config['log_file'] ||= File.join(ROOT_PATH, 'log', 'gitlab_shell.log')
+ end
+
+ def log_level
+ @config['log_level'] ||= 'INFO'
+ end
+
# Build redis command to write update event in gitlab queue
def redis_command
if redis.empty?
diff --git a/lib/gitlab_logger.rb b/lib/gitlab_logger.rb
new file mode 100644
index 0000000..4b87e27
--- /dev/null
+++ b/lib/gitlab_logger.rb
@@ -0,0 +1,16 @@
+require 'logger'
+
+require_relative 'gitlab_config'
+
+def convert_log_level log_level
+ Logger.const_get(log_level.upcase)
+rescue NameError
+ $stderr.puts "WARNING: Unrecognized log level #{log_level.inspect}."
+ $stderr.puts "WARNING: Falling back to INFO."
+ Logger::INFO
+end
+
+config = GitlabConfig.new
+
+$logger = Logger.new(config.log_file)
+$logger.level = convert_log_level(config.log_level)