Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package log4jtest;
- import java.io.Serializable;
- import java.util.concurrent.TimeUnit;
- import org.apache.logging.log4j.Level;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- import org.apache.logging.log4j.core.Appender;
- import org.apache.logging.log4j.core.Layout;
- import org.apache.logging.log4j.core.LoggerContext;
- import org.apache.logging.log4j.core.appender.RollingFileAppender;
- import org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy;
- import org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
- import org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy;
- import org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy;
- import org.apache.logging.log4j.core.config.AppenderRef;
- import org.apache.logging.log4j.core.config.Configuration;
- import org.apache.logging.log4j.core.config.LoggerConfig;
- import org.apache.logging.log4j.core.layout.PatternLayout;
- /**
- *
- * @author vavasing
- */
- public class LogToFile {
- public static final String LOG_PATTERN = "%d{yyyy-MM-dd HH:mm:ss} [%-5level] MyApp - %msg%n";
- public static final String LOG_FILE_PATTERN = "-%d{dd-MM-yyyy-HH}.%i.log";
- public static final String MY_LOG_PATTERN_LAYOUT = "%c -- %C -- %msg -- %n";
- public static void main(String[] args) {
- /* Configuring Logger context */
- final LoggerContext context = (LoggerContext) LogManager.getContext(false);
- final Configuration config = context.getConfiguration();
- final Layout<? extends Serializable> layout = PatternLayout.createLayout(MY_LOG_PATTERN_LAYOUT, null, config, null, null, true, true, null, null);
- /* Configuring policies */
- //final TimeBasedTriggeringPolicy timeBasedTriggeringPolicy = TimeBasedTriggeringPolicy.createPolicy(String.valueOf(TimeUnit.DAYS.toMillis(1)), "true");
- final SizeBasedTriggeringPolicy sizeBasedTriggeringPolicy = SizeBasedTriggeringPolicy.createPolicy(String.valueOf(1024));
- //final CompositeTriggeringPolicy policy = CompositeTriggeringPolicy.createPolicy(timeBasedTriggeringPolicy,sizeBasedTriggeringPolicy);
- final DefaultRolloverStrategy strategy = DefaultRolloverStrategy.createStrategy("50", "1", "max", null, null, false, config);
- /* Creating appenders */
- final Appender appender = RollingFileAppender.createAppender("target/logs/test.log", "target/logs/test-%i.log", "true", "log-file-appender", null, null, "true", sizeBasedTriggeringPolicy, strategy, layout, null, null, null, null, config);
- appender.start();
- AppenderRef ref = AppenderRef.createAppenderRef("log-file-appender", null, null);
- AppenderRef[] refs = new AppenderRef[]{ref};
- /*Creating loggers*/
- LoggerConfig loggerConfig = LoggerConfig.createLogger("false", Level.ERROR, "logger", "com.*", refs, null, config, null);
- loggerConfig.addAppender(appender, null, null);
- config.addLogger("logger", loggerConfig);
- context.updateLoggers();
- Logger logger = context.getLogger("logger");
- logger.error("test data");
- logger.error("test data2");
- logger.error("test data");
- logger.error("test data2");
- logger.error("test data");
- logger.error("test data2");
- logger.error("test data");
- logger.error("test data2");
- logger.error("test data");
- logger.error("test data2");
- }
- }
Add Comment
Please, Sign In to add comment