From: Joe Van Dyk Date: 2005-09-24T13:31:08+09:00 Subject: Re: Creating directories On 9/23/05, Ara.T.Howard wrote: > On Sat, 24 Sep 2005, Joe Van Dyk wrote: > > > On 9/23/05, Ara.T.Howard wrote: > >> On Sat, 24 Sep 2005, Joe Van Dyk wrote: > >> > >>> There seem to have been a bunch of filesystem-related releases > >>> recently. So I'm not sure if one of them would address my problem > >>> better than something that's in the standard library. > >>> > >>> I'm starting a bunch of applications and need to write their stdout > >>> and stderr to logs. Log files are stored at // >>> name>/.log. > >>> > >>> What's the simplest way of creating all those directories (assuming > >>> that none of them exist)? > >> > >> require 'fileutils' > >> FileUtils::mkdir_p 'dir' > >> > >> you don't need to care if it exsts and all subdirs are created on the fly. > > > > > > Thanks! > > > > And a related question: Every time I start an application, I want to write > > to a new log file. But I want to keep the old log files around (i.e. rotate > > them). Can I do that with Logger? I see options for rotating when a log > > file gets to a certain size or on a daily, weekly, monthly basis, but not > > when I'm creating a new one. > > require 'logger' > > logger = Logger:new 'log', log_age > > # or > > logger = Logger:new 'log', log_age, log_size > > > # log_age can be daily|weekly|monthly|number_of_days > > whammo. log rolling. :-) You might want to re-read my question. Every time I start the application, I want to create a new log file and rotate the old ones (say, keep the last 10). I did see the options for rotating on size and by date. But I didn't see an option for rolling the log for every new application launch. So, if I start the application 5 times, there should be five log files.