Adjusting log levels
Is it possible to hide DEBUG messages produced by the stringer web app?
You are referring to the database logs, right? Can you explain the issue? I did a quick research and I cannot find anything in the code that allows that, but it should be possible.
Yes, I'm referring to the database logs. These messages are shown in system logs when stringer is running as systemd service (I've installed stringer on my own server). It would be convenient if logging level could be configured using environment variable in a way similar to database settings (DATABASE_URL).
Has anyone figured out how to disable the debug logging yet? I don't know Ruby/Rails at all. Stuff I've tried so far hasn't worked, but I feel like I'm just groping in the dark!
Please have a look at: https://github.com/swanson/stringer/pull/460/commits/f3d6280a6ef07fdb9aab392dd2435bc58e13b0c1 in https://github.com/swanson/stringer/pull/460
Well, that apparently doesn't work. I still get debug messages like:
D, [2018-08-07T13:29:24.214322 #37] DEBUG -- : SQL (5.5ms) DELETE FROM "delayed_jobs"
D, [2018-08-07T13:29:24.216086 #37] DEBUG -- : Delayed::Backend::ActiveRecord::Job Load (0.2ms) SELECT "delayed_jobs".* FROM "delayed_jobs" WHERE ((run_at <= '2018-08-07 20:29:24.214766' AND (locked_at IS NULL OR locked_at < '2018-08-07 16:29:24.214774') OR locked_by = 'host:49cf339bf718 pid:37') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 5
I tried just using the ActiveRecord::Base.logger.level = Logger::INFO line without the rest of the case statement, but still am getting a constant stream of debug notices.
Any ideas?
This seems to work for now. It doesn't allow setting the log level via env variables, but close enough until someone who actually knows Ruby can propose a better fix :smile:
diff --git a/app.rb b/app.rb
index 1169a3b..d5919bf 100644
--- a/app.rb
+++ b/app.rb
@@ -36,6 +36,7 @@ class Stringer < Sinatra::Base
enable :sessions
set :session_secret, ENV["SECRET_TOKEN"] || SecureRandom.hex(32)
enable :logging
+ ActiveRecord::Base.logger.level = Logger::INFO
enable :method_override
ActiveRecord::Base.include_root_in_json = false