public RollingFileHandler(String filename, int maxHistory, long maxSizeInBytes) { setFormatter(new StaticFormatter()); ContextBase context = new ContextBase(); recoverTempFiles(filename); RollingFileAppender<String> fileAppender = new RollingFileAppender<>(); TimeBasedRollingPolicy<String> rollingPolicy = new TimeBasedRollingPolicy<>(); SizeAndTimeBasedFNATP<String> triggeringPolicy = new SizeAndTimeBasedFNATP<>(); rollingPolicy.setContext(context); rollingPolicy.setFileNamePattern(filename + "-%d{yyyy-MM-dd}.%i.log.gz"); rollingPolicy.setMaxHistory(maxHistory); rollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy(triggeringPolicy); rollingPolicy.setParent(fileAppender); triggeringPolicy.setContext(context); triggeringPolicy.setTimeBasedRollingPolicy(rollingPolicy); triggeringPolicy.setMaxFileSize(new FileSize(maxSizeInBytes)); fileAppender.setContext(context); fileAppender.setFile(filename); fileAppender.setAppend(true); fileAppender.setBufferSize(BUFFER_SIZE_IN_BYTES); fileAppender.setEncoder(new StringEncoder()); fileAppender.setRollingPolicy(rollingPolicy); asyncAppender = new AsyncAppenderBase<>(); asyncAppender.setContext(context); asyncAppender.addAppender(fileAppender); rollingPolicy.start(); triggeringPolicy.start(); fileAppender.start(); asyncAppender.start(); }
asyncAppender = new AsyncAppenderBase<>(); asyncAppender.setContext(context); asyncAppender.setQueueSize(queueSize);
fileAppender.setImmediateFlush(false); asyncAppender = new AsyncAppenderBase<>(); asyncAppender.setContext(context); asyncAppender.setQueueSize(queueSize);
fileAppender.setImmediateFlush(false); asyncAppender = new AsyncAppenderBase<>(); asyncAppender.setContext(context); asyncAppender.setQueueSize(queueSize);