#---------------lib/app_logger.rb------------ require ''logger'' class AppLogger attr_writer :man_name, :emp_name def initialize(man_name, emp_name) @man_name = man_name @emp_name = emp_name log_path = "log/" file_name = "file.log" log_level = "ACTIVITY" log_file = log_path + file_name @logger = Logger.new(log_file, ''daily'') case log_level when "DEBUG" @level = Logger::DEBUG when "INFO" @level = Logger::INFO when "WARN" @level = Logger::WARN when "ERROR" @level = Logger::ERROR when "FATAL" @level = Logger::FATAL else @level = Logger::UNKNOWN end end def close @logger.close if @logger end def debug(msg) log_message(Logger::DEBUG, msg) end def info(msg) log_message(Logger::INFO, msg) end def warn(msg) log_message(Logger::WARN, msg) end def error(msg) log_message(Logger::ERROR, msg) end def fatal(msg) log_message(Logger::FATAL, msg) end def activity(msg) log_message(Logger::UNKNOWN, msg) end private SEV_LABEL = %w(DEBUG INFO WARN ERROR FATAL UNKNOWN) def log_message(severity, msg) if @logger.nil? or severity < @level return true end fmt_msg = "#{@man_name} | #{@emp_name} | #{Time.now.strftime("%Y- %m-%d %H:%M:%S")} | #{SEV_LABEL[severity]} | #{msg}\r\n" @logger << fmt_msg end end #----------------------------------------------------------- Above logger Code is present in lib folder, named logger.rb i have included ---before_filter :init_logger-- this piece of code in all controllers in application.rb def init_logger unless $app_logger man_name = "mPowerForce" emp_name = "mPowerSales" $app_logger = AppLogger.new(man_name, emp_name) end end rails version --->2.1.1 am running my rails application as three instances in three consequent ports on the first day no problem in creating file.log and next day when application is running in 1st instance its creating a backup of file.log as file_previous_date.log when its running in the 2nd instance on the same day The following error occurred Logger::ShiftingError in controller Shifting failed. closed stream Could any one give a solution for this problem Thanx in advance