Store logs in file

This commit is contained in:
ricola 2025-12-14 17:46:56 -06:00
parent 5fa23fb552
commit d02a3f595d
2 changed files with 15 additions and 4 deletions

View file

@ -2,8 +2,6 @@ if ENV['RACK_ENV']
set :environment, ENV['RACK_ENV'] set :environment, ENV['RACK_ENV']
end end
set :output, 'vedia.log'
every 5.minutes do every 5.minutes do
rake "close_expired_votes" rake "close_expired_votes"
end end

View file

@ -14,6 +14,7 @@ require 'mail'
require 'ostruct' require 'ostruct'
require 'tzinfo' require 'tzinfo'
require 'redcarpet' require 'redcarpet'
require 'logger'
include GetText include GetText
@ -75,6 +76,18 @@ set_locale('ca')
enable :sessions enable :sessions
MajorityJudgment.values = settings.values MajorityJudgment.values = settings.values
log_file = File.new('vedia.log', 'a+')
log_file.sync = true
logger = Logger.new(log_file)
logger.level = Logger::INFO
use Rack::CommonLogger, log_file
configure do
set :logger, logger
end
get '/' do get '/' do
redirect '/votes' redirect '/votes'
end end
@ -548,11 +561,11 @@ end
def close_expired_votes def close_expired_votes
Vote.where(state: 'open').where("expire_on < :now", { now: Time.now.utc }).each do |vote| Vote.where(state: 'open').where("expire_on < :now", { now: Time.now.utc }).each do |vote|
puts "#{Time.now.utc} Closing vote \"#{vote.title}\" because it expired on #{vote.expire_on}..." logger.info "#{Time.now.utc} Closing vote \"#{vote.title}\" because it expired on #{vote.expire_on}..."
vote.state = 'closed' vote.state = 'closed'
vote.save vote.save
User.all.each do |user| User.all.each do |user|
puts "#{Time.now.utc} Sending results by email to #{user.email}..." logger.info "#{Time.now.utc} Sending results by email to #{user.email}..."
mail = Mail.new mail = Mail.new
mail.from = settings.admin_email mail.from = settings.admin_email
mail.to = user.email mail.to = user.email