X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Flogback-config%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Flogback%2Fconfig%2FLogbackModuleWithInitialConfigurationTest.java;h=79e46ae6d212d56b4613643d48315ca535844375;hp=2bdfa47b5492a3e752ba57b193d8fe2ec82d9a1e;hb=6c6c85af56a95fe57389f5ac420876d7ce5cd0e5;hpb=545b424ba9278d7aee12b9a6173e23c1b1d39dd3 diff --git a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleWithInitialConfigurationTest.java b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleWithInitialConfigurationTest.java index 2bdfa47b54..79e46ae6d2 100644 --- a/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleWithInitialConfigurationTest.java +++ b/opendaylight/config/logback-config/src/test/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleWithInitialConfigurationTest.java @@ -40,8 +40,7 @@ import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy; import com.google.common.collect.Lists; -public class LogbackModuleWithInitialConfigurationTest extends - AbstractConfigTest { +public class LogbackModuleWithInitialConfigurationTest extends AbstractConfigTest { private LogbackModuleFactory factory; @@ -49,36 +48,32 @@ public class LogbackModuleWithInitialConfigurationTest extends public void setUp() throws IOException, ClassNotFoundException { factory = new LogbackModuleFactory(); - super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver( - factory)); + super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(factory)); } /** * Tests that initial configuration was changed. Changed attributes: - * location, fileName, duplicateInsertTries - * + * location, fileName, duplicateInsertTries. Added new FileAppender. */ @Test public void test() throws Exception { createBeans(); - ConfigTransactionClient transaction = configRegistryClient - .createTransaction(); + ConfigTransactionClient transaction = configRegistryClient.createTransaction(); - LogbackModuleMXBean bean = JMX.newMXBeanProxy( - ManagementFactory.getPlatformMBeanServer(), - transaction.lookupConfigBean("logback", "singleton"), - LogbackModuleMXBean.class); + LogbackModuleMXBean bean = JMX.newMXBeanProxy(ManagementFactory.getPlatformMBeanServer(), + transaction.lookupConfigBean("logback", "singleton"), LogbackModuleMXBean.class); assertEquals(1, bean.getConsoleAppenderTO().size()); assertEquals(1, bean.getRollingFileAppenderTO().size()); + assertEquals(0, bean.getFileAppenderTO().size()); assertEquals(1, bean.getLoggerTO().size()); RollingFileAppenderTO rolling = new RollingFileAppenderTO(); - RollingFileAppenderTO old = bean - .getRollingFileAppenderTO().get(0); + RollingFileAppenderTO old = bean.getRollingFileAppenderTO().get(0); rolling.setAppend(old.getAppend()); rolling.setEncoderPattern(old.getEncoderPattern()); + rolling.setRollingPolicyType(old.getRollingPolicyType()); rolling.setFileName("target/logFile1.log"); rolling.setFileNamePattern("target/%i.log"); rolling.setMaxFileSize(old.getMaxFileSize()); @@ -91,56 +86,69 @@ public class LogbackModuleWithInitialConfigurationTest extends console.setName("SYSTEM"); console.setThresholdFilter("DEBUG"); + FileAppenderTO file = new FileAppenderTO(); + file.setName("FILE_APPENDER"); + file.setAppend(true); + file.setEncoderPattern("%-4relative [%thread] %-5level %logger{35} - %msg%n"); + file.setFileName("target/testFile.log"); + bean.setConsoleAppenderTO(Lists.newArrayList(console)); bean.setRollingFileAppenderTO(Lists.newArrayList(rolling)); + bean.setFileAppenderTO(Lists.newArrayList(file)); LoggerTO logger = new LoggerTO(); logger.setLevel("INFO"); logger.setLoggerName("logger"); logger.setAppenders(Lists.newArrayList("SYSTEM")); - List loggers = Lists - .newArrayList(logger); + + LoggerTO fileLogger = new LoggerTO(); + fileLogger.setLevel("DEBUG"); + fileLogger.setLoggerName("fileLogger"); + fileLogger.setAppenders(Lists.newArrayList("FILE_APPENDER")); + + List loggers = Lists.newArrayList(logger, fileLogger); bean.setLoggerTO(loggers); transaction.commit(); LogbackModuleMXBean logback = configRegistryClient.newMXBeanProxy( - ObjectNameUtil.createReadOnlyModuleON("logback", "singleton"), - LogbackModuleMXBean.class); - + ObjectNameUtil.createReadOnlyModuleON("logback", "singleton"), LogbackModuleMXBean.class); - List rollingList = logback - .getRollingFileAppenderTO(); + List rollingList = logback.getRollingFileAppenderTO(); assertEquals(1, rollingList.size()); - RollingFileAppenderTO rollingApp = rollingList - .get(0); + RollingFileAppenderTO rollingApp = rollingList.get(0); assertEquals(rollingApp.getFileName(), "target/logFile1.log"); assertEquals(rollingApp.getName(), "FILE"); - List consoleList = logback - .getConsoleAppenderTO(); + List consoleList = logback.getConsoleAppenderTO(); assertEquals(1, consoleList.size()); - ConsoleAppenderTO consoleApp = consoleList - .get(0); + ConsoleAppenderTO consoleApp = consoleList.get(0); assertEquals(consoleApp.getThresholdFilter(), "DEBUG"); assertEquals(consoleApp.getName(), "SYSTEM"); + List fileList = logback.getFileAppenderTO(); + assertEquals(1, fileList.size()); + + FileAppenderTO fileApp = fileList.get(0); + assertEquals(fileApp.getFileName(), "target/testFile.log"); + assertEquals(fileApp.getName(), "FILE_APPENDER"); + loggers = logback.getLoggerTO(); - assertEquals(1, loggers.size()); + assertEquals(2, loggers.size()); + assertEquals("logger", loggers.get(0).getLoggerName()); + assertEquals("fileLogger", loggers.get(1).getLoggerName()); } - public ObjectName createBeans() throws JoranException, - InstanceAlreadyExistsException, IOException { + public ObjectName createBeans() throws JoranException, InstanceAlreadyExistsException, IOException { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); JoranConfigurator configurator = new JoranConfigurator(); configurator.setContext(lc); - configurator - .doConfigure("src/test/resources/simple_config_logback.xml"); + configurator.doConfigure("src/test/resources/simple_config_logback.xml"); File f = new File("target/it"); if (f.exists()) FileUtils.cleanDirectory(f); @@ -155,12 +163,11 @@ public class LogbackModuleWithInitialConfigurationTest extends List rollingAppenders = new ArrayList<>(); RollingFileAppenderTO rollingApp = new RollingFileAppenderTO(); rollingApp.setAppend(fileAppender.isAppend()); - PatternLayoutEncoder enc = (PatternLayoutEncoder) fileAppender - .getEncoder(); + PatternLayoutEncoder enc = (PatternLayoutEncoder) fileAppender.getEncoder(); rollingApp.setEncoderPattern(enc.getPattern()); rollingApp.setFileName(fileAppender.getFile()); - FixedWindowRollingPolicy rollingPolicy = (FixedWindowRollingPolicy) fileAppender - .getRollingPolicy(); + FixedWindowRollingPolicy rollingPolicy = (FixedWindowRollingPolicy) fileAppender.getRollingPolicy(); + rollingApp.setRollingPolicyType("FixedWindowRollingPolicy"); rollingApp.setMaxIndex(rollingPolicy.getMaxIndex()); rollingApp.setMinIndex(rollingPolicy.getMinIndex()); SizeBasedTriggeringPolicy triggeringPolicy = (SizeBasedTriggeringPolicy) fileAppender @@ -182,25 +189,24 @@ public class LogbackModuleWithInitialConfigurationTest extends consoleApp.setThresholdFilter("ALL"); consoleAppenders.add(consoleApp); + List fileAppenders = new ArrayList<>(); + List loggersDTOs = new ArrayList<>(); LoggerTO log = new LoggerTO(); - log.setAppenders(Arrays.asList(fileAppender.getName(), - consoleApp.getName())); + log.setAppenders(Arrays.asList(fileAppender.getName(), consoleApp.getName())); log.setLevel(logger.getLevel().toString()); log.setLoggerName(logger.getName()); loggersDTOs.add(log); - ConfigTransactionJMXClient transaction = configRegistryClient - .createTransaction(); - ObjectName nameCreated = transaction.createModule( - factory.getImplementationName(), "singleton"); - LogbackModuleMXBean bean = transaction.newMXBeanProxy(nameCreated, - LogbackModuleMXBean.class); + ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction(); + ObjectName nameCreated = transaction.createModule(factory.getImplementationName(), "singleton"); + LogbackModuleMXBean bean = transaction.newMXBeanProxy(nameCreated, LogbackModuleMXBean.class); bean.setLoggerTO(loggersDTOs); bean.setRollingFileAppenderTO(rollingAppenders); bean.setConsoleAppenderTO(consoleAppenders); + bean.setFileAppenderTO(fileAppenders); transaction.commit();