Hi there, im trying to setup loggers programatically and noticed that logback / log4j wont create the empty directory for you using rollingfileappender. Here is what ive had to do to get the parent directory recursively created because i wont be sure what the parent directory of the logger will be until its created. Is there a better way ?

                        LoggerContext lc = (LoggerContext) 
logStats.getLoggerContext();
                        W3CAccessLayout layout = new W3CAccessLayout();
                        layout.setContext(lc);
                        layout.start();
                        
RollingFileAppender<LoggingEvent> appender = new RollingFileAppender<LoggingEvent>();
                        appender.setContext(lc);
                        appender.setImmediateFlush(true);
                        appender.setName(appenderName);
                appender.setLayout(layout);
                
                TimeBasedRollingPolicy policy = new TimeBasedRollingPolicy();
                        policy.setContext(lc);
                        policy.setFileNamePattern(path + logFilePattern);
                        policy.setParent(appender);
                        policy.setCurrentTime(System.currentTimeMillis());
                        policy.start();
                        
                        File file = new File(policy.getNewActiveFileName());
                        File dir = new File(file.getParent());
                        dir.mkdirs();
                        appender.setRollingPolicy(policy);
                        appender.start();
                
                                
                logStats.addAppender(appender);

_______________________________________________
Logback-user mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-user

Reply via email to