stringer icon indicating copy to clipboard operation
stringer copied to clipboard

Adjusting log levels

Open xuhcc opened this issue 8 years ago • 6 comments

Is it possible to hide DEBUG messages produced by the stringer web app?

xuhcc avatar Dec 06 '17 14:12 xuhcc

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.

gabrielpoca avatar Jan 04 '18 19:01 gabrielpoca

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).

xuhcc avatar Jan 04 '18 20:01 xuhcc

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!

firecat53 avatar Jul 23 '18 00:07 firecat53

Please have a look at: https://github.com/swanson/stringer/pull/460/commits/f3d6280a6ef07fdb9aab392dd2435bc58e13b0c1 in https://github.com/swanson/stringer/pull/460

maxmeyer avatar Aug 07 '18 11:08 maxmeyer

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?

firecat53 avatar Aug 07 '18 20:08 firecat53

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

firecat53 avatar Aug 07 '18 22:08 firecat53