rubydaemonlogrotatedaemons

Add logs in different directory using daemon in ruby


I am using daemon to wrap my script and has specified logs location into that : Script looks like this :

#!/usr/local/bin/ruby
require 'rubygems'
require 'daemons'

Daemons.run_proc(
   'script_test', # name of daemon
   :log_output => true,
   :output_logfilename => "script-test.log",
   :logfilename => "script-test.log"
 ) do
   exec 'ruby /opt/script-test/script-test.rb'
end

Problem is my logs are storing in same directory where my script is present. I have to add my logs to different directory such as /var/log/script-test and later have to rotate those logs weekly. Provide me with a solution so that i can store the logs of script in /var/log directory.


Solution

  • It worked for me with this configuration as :

    Daemons.run_proc(
       'script-test', # name of daemon
       :log_output => true,
       :dir_mode => :normal,
       :dir => "/var/log",
       :output_logfilename => "script-test.log",
       :logfilename => "script-test.log"
     ) do
       exec 'ruby /opt/script-test/script-test.rb'
    

    end