meetYourMothers

ProgrammaticlLoggingLog4j2

Mar 2nd, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.63 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package log4jtest;
  7.  
  8. import java.io.Serializable;
  9. import java.util.concurrent.TimeUnit;
  10. import org.apache.logging.log4j.Level;
  11. import org.apache.logging.log4j.LogManager;
  12. import org.apache.logging.log4j.Logger;
  13. import org.apache.logging.log4j.core.Appender;
  14. import org.apache.logging.log4j.core.Layout;
  15. import org.apache.logging.log4j.core.LoggerContext;
  16. import org.apache.logging.log4j.core.appender.RollingFileAppender;
  17. import org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy;
  18. import org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
  19. import org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy;
  20. import org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy;
  21. import org.apache.logging.log4j.core.config.AppenderRef;
  22. import org.apache.logging.log4j.core.config.Configuration;
  23. import org.apache.logging.log4j.core.config.LoggerConfig;
  24. import org.apache.logging.log4j.core.layout.PatternLayout;
  25.  
  26. /**
  27.  *
  28.  * @author vavasing
  29.  */
  30. public class LogToFile {
  31.  
  32.     public static final String LOG_PATTERN = "%d{yyyy-MM-dd HH:mm:ss} [%-5level] MyApp - %msg%n";
  33.     public static final String LOG_FILE_PATTERN = "-%d{dd-MM-yyyy-HH}.%i.log";
  34.     public static final String MY_LOG_PATTERN_LAYOUT = "%c -- %C -- %msg -- %n";
  35.  
  36.     public static void main(String[] args) {
  37.  
  38.         /* Configuring Logger context */
  39.         final LoggerContext context = (LoggerContext) LogManager.getContext(false);
  40.         final Configuration config = context.getConfiguration();
  41.         final Layout<? extends Serializable> layout = PatternLayout.createLayout(MY_LOG_PATTERN_LAYOUT, null, config, null, null, true, true, null, null);
  42.  
  43.  
  44.         /* Configuring policies */
  45.         //final TimeBasedTriggeringPolicy timeBasedTriggeringPolicy = TimeBasedTriggeringPolicy.createPolicy(String.valueOf(TimeUnit.DAYS.toMillis(1)), "true");
  46.         final SizeBasedTriggeringPolicy sizeBasedTriggeringPolicy = SizeBasedTriggeringPolicy.createPolicy(String.valueOf(1024));
  47.         //final CompositeTriggeringPolicy policy = CompositeTriggeringPolicy.createPolicy(timeBasedTriggeringPolicy,sizeBasedTriggeringPolicy);
  48.         final DefaultRolloverStrategy strategy = DefaultRolloverStrategy.createStrategy("50", "1", "max", null, null, false, config);
  49.  
  50.         /* Creating appenders */
  51.         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);
  52.         appender.start();
  53.         AppenderRef ref = AppenderRef.createAppenderRef("log-file-appender", null, null);
  54.         AppenderRef[] refs = new AppenderRef[]{ref};
  55.  
  56.         /*Creating loggers*/
  57.         LoggerConfig loggerConfig = LoggerConfig.createLogger("false", Level.ERROR, "logger", "com.*", refs, null, config, null);
  58.         loggerConfig.addAppender(appender, null, null);
  59.         config.addLogger("logger", loggerConfig);
  60.         context.updateLoggers();
  61.  
  62.         Logger logger = context.getLogger("logger");
  63.         logger.error("test data");
  64.         logger.error("test data2");
  65.         logger.error("test data");
  66.         logger.error("test data2");
  67.         logger.error("test data");
  68.         logger.error("test data2");
  69.         logger.error("test data");
  70.         logger.error("test data2");
  71.         logger.error("test data");
  72.         logger.error("test data2");
  73.     }
  74.  
  75. }
Add Comment
Please, Sign In to add comment