public static FileAppender<ILoggingEvent> buildFileAppender(LoggingConfiguration.FileConfiguration file, LoggerContext context, String logFormat) { final LogFormatter formatter = new LogFormatter(context, file.getTimeZone()); if (logFormat != null) { formatter.setPattern(logFormat); } formatter.start(); final FileAppender<ILoggingEvent> appender = file.isArchive() ? new RollingFileAppender<ILoggingEvent>() : new FileAppender<ILoggingEvent>(); appender.setAppend(true); appender.setContext(context); appender.setLayout(formatter); appender.setFile(file.getCurrentLogFilename()); appender.setPrudent(false); addThresholdFilter(appender, file.getThreshold()); if (file.isArchive()) { final DefaultTimeBasedFileNamingAndTriggeringPolicy<ILoggingEvent> triggeringPolicy = new DefaultTimeBasedFileNamingAndTriggeringPolicy<ILoggingEvent>(); triggeringPolicy.setContext(context); final TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new TimeBasedRollingPolicy<ILoggingEvent>(); rollingPolicy.setContext(context); rollingPolicy.setFileNamePattern(file.getArchivedLogFilenamePattern()); rollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy(triggeringPolicy); triggeringPolicy.setTimeBasedRollingPolicy(rollingPolicy); rollingPolicy.setMaxHistory(file.getArchivedFileCount()); ((RollingFileAppender<ILoggingEvent>) appender).setRollingPolicy(rollingPolicy); ((RollingFileAppender<ILoggingEvent>) appender).setTriggeringPolicy(triggeringPolicy); rollingPolicy.setParent(appender); rollingPolicy.start(); } appender.stop(); appender.start(); return appender; }
private FileAppender<ILoggingEvent> getFileAppender(final LoggingSettings.LogFile settings, final LoggerContext context) { final PatternLayout formatter = getPatternLayout(context); formatter.setPattern(settings.getLogFormat()); formatter.start(); final FileAppender<ILoggingEvent> appender = settings.isArchive() ? new RollingFileAppender<ILoggingEvent>() : new FileAppender<ILoggingEvent>(); appender.setAppend(true); appender.setContext(context); appender.setLayout(formatter); appender.setFile(settings.getCurrentLogFilename()); appender.setPrudent(false); addThresholdFilter(appender, settings.getThreshold()); if (settings.isArchive()) { final DefaultTimeBasedFileNamingAndTriggeringPolicy<ILoggingEvent> triggeringPolicy = new DefaultTimeBasedFileNamingAndTriggeringPolicy<ILoggingEvent>(); final TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new TimeBasedRollingPolicy<ILoggingEvent>(); triggeringPolicy.setContext(context); triggeringPolicy.setTimeBasedRollingPolicy(rollingPolicy); rollingPolicy.setContext(context); rollingPolicy.setFileNamePattern(settings.getArchivedLogFilenamePattern()); rollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy(triggeringPolicy); rollingPolicy.setMaxHistory(settings.getArchivedFileCount()); ((RollingFileAppender<ILoggingEvent>)appender).setRollingPolicy(rollingPolicy); ((RollingFileAppender<ILoggingEvent>)appender).setTriggeringPolicy(triggeringPolicy); rollingPolicy.setParent(appender); rollingPolicy.start(); } appender.stop(); appender.start(); return appender; }
private static Logger dynamic(String name, LogLevel level) { // ( LoggerContext ) LoggerFactory.getILoggerFactory(); /* * String thName = Thread.currentThread().getName(); if( thName != null * && !thName.trim().isEmpty() ) name = name + "_" + * thName.trim().replaceAll( " ", "_" ); */ PatternLayoutEncoder encoder = new PatternLayoutEncoder(); encoder.setPattern("%d{HH:mm:ss.SSS} [%thread][%-5level][%logger{36}] - %msg%n"); encoder.setContext(context); encoder.setCharset(Charset.forName("UTF-8")); DefaultTimeBasedFileNamingAndTriggeringPolicy<ILoggingEvent> timeBasedTriggeringPolicy = new DefaultTimeBasedFileNamingAndTriggeringPolicy<ILoggingEvent>(); timeBasedTriggeringPolicy.setContext(context); TimeBasedRollingPolicy<ILoggingEvent> timeBasedRollingPolicy = new TimeBasedRollingPolicy<ILoggingEvent>(); timeBasedRollingPolicy.setContext(context); String workspace = System.getenv("WORKSPACE"); if (workspace == null) workspace = ""; if (!workspace.isEmpty() && !workspace.endsWith("/")) workspace += "/"; timeBasedRollingPolicy.setFileNamePattern(workspace + "logs/" + name + "-%d{yyyy-MM-dd}.log"); timeBasedRollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy(timeBasedTriggeringPolicy); timeBasedTriggeringPolicy.setTimeBasedRollingPolicy(timeBasedRollingPolicy); RollingFileAppender<ILoggingEvent> rollingFileAppender = new RollingFileAppender<ILoggingEvent>(); rollingFileAppender.setAppend(false); rollingFileAppender.setContext(context); rollingFileAppender.setEncoder(encoder); rollingFileAppender.setFile("logs/" + name + ".log"); rollingFileAppender.setName(name + "Appender"); rollingFileAppender.setPrudent(true); // set to true to release the hold // of log files. rollingFileAppender.setRollingPolicy(timeBasedRollingPolicy); rollingFileAppender.setTriggeringPolicy(timeBasedTriggeringPolicy); timeBasedRollingPolicy.setParent(rollingFileAppender); encoder.start(); timeBasedRollingPolicy.start(); rollingFileAppender.stop(); rollingFileAppender.start(); Logger logger = context.getLogger(name); logger.setLevel(level.convert()); logger.setAdditive(false); logger.addAppender(rollingFileAppender); return logger; }
public static FileAppender<ILoggingEvent> buildFileAppender(FileLoggingConfiguration file, LoggerContext context) { final LogFormatter formatter = new LogFormatter(context, file.getTimeZone()); for (String format : file.getLogFormat().asSet()) { formatter.setPattern(format); } formatter.start(); final FileAppender<ILoggingEvent> appender = file.isArchive() ? new RollingFileAppender<ILoggingEvent>() : new FileAppender<ILoggingEvent>(); appender.setAppend(true); appender.setContext(context); appender.setLayout(formatter); appender.setFile(file.getCurrentLogFilename()); appender.setPrudent(false); addThresholdFilter(appender, file.getThreshold()); if (file.isArchive()) { final DefaultTimeBasedFileNamingAndTriggeringPolicy<ILoggingEvent> triggeringPolicy = new DefaultTimeBasedFileNamingAndTriggeringPolicy<ILoggingEvent>(); triggeringPolicy.setContext(context); final TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new TimeBasedRollingPolicy<ILoggingEvent>(); rollingPolicy.setContext(context); rollingPolicy.setFileNamePattern(file.getArchivedLogFilenamePattern()); rollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy( triggeringPolicy); triggeringPolicy.setTimeBasedRollingPolicy(rollingPolicy); rollingPolicy.setMaxHistory(file.getArchivedFileCount()); ((RollingFileAppender<ILoggingEvent>) appender).setRollingPolicy(rollingPolicy); ((RollingFileAppender<ILoggingEvent>) appender).setTriggeringPolicy(triggeringPolicy); rollingPolicy.setParent(appender); rollingPolicy.start(); } appender.stop(); appender.start(); return appender; }