public boolean shouldConfigureContext(MuleLoggerContext context) { if (!context.isArtifactClassloader()) { return true; } ArtifactDescriptor descriptor = context.getArtifactDescriptor(); if (descriptor == null || !descriptor.getDeploymentProperties().isPresent()) { return true; } Properties properties = descriptor.getDeploymentProperties().get(); return !parseBoolean(properties.getProperty(MULE_MUTE_APP_LOGS_DEPLOYMENT_PROPERTY, "false")); }
@Before public void before() throws Exception { selector = new ArtifactAwareContextSelector(); when(artifactDescriptor.getDeploymentProperties()).thenReturn(empty()); when(regionClassLoader.getArtifactId()).thenReturn(getClass().getName()); when(regionClassLoader.findLocalResource("log4j2.xml")).thenReturn(CONFIG_LOCATION.toURI().toURL()); when(regionClassLoader.getArtifactDescriptor()).thenReturn(artifactDescriptor); }
@Test public void noAppendersForMutedApplication() throws Exception { when(context.isArtifactClassloader()).thenReturn(true); ArtifactDescriptor descriptor = mock(ArtifactDescriptor.class); Properties properties = new Properties(); properties.setProperty(MULE_MUTE_APP_LOGS_DEPLOYMENT_PROPERTY, "true"); when(descriptor.getDeploymentProperties()).thenReturn(Optional.of(properties)); when(context.getArtifactDescriptor()).thenReturn(descriptor); contextConfigurer.update(context); verify(context.getConfiguration(), never()).addAppender(any(Appender.class)); }
@Test public void perAppDefaultAppender() throws Exception { when(context.isArtifactClassloader()).thenReturn(true); when(context.getArtifactDescriptor().getDeploymentProperties()).thenReturn(empty()); contextConfigurer.update(context); ArgumentCaptor<RollingFileAppender> appenderCaptor = ArgumentCaptor.forClass(RollingFileAppender.class); verify(context.getConfiguration()).addAppender(appenderCaptor.capture()); Appender perAppAppender = appenderCaptor.getValue(); assertThat(perAppAppender, notNullValue()); assertThat(perAppAppender.getName(), equalTo(PER_APP_FILE_APPENDER_NAME)); assertThat(perAppAppender.isStarted(), is(true)); String filePattern = ClassUtils.getFieldValue(perAppAppender, FILE_PATTERN_PROPERTY, true); String filePatternTemplate = filePattern.substring(filePattern.lastIndexOf('/') + 1); String filePatternTemplateDateSuffix = filePatternTemplate.substring(filePatternTemplate.lastIndexOf('.') + 1); assertThat(filePatternTemplateDateSuffix, equalTo(FILE_PATTERN_TEMPLATE_DATE_SECTION)); LoggerConfig rootLogger = context.getConfiguration().getRootLogger(); verify(rootLogger).addAppender(perAppAppender, Level.ALL, null); }
public boolean shouldConfigureContext(MuleLoggerContext context) { if (!context.isApplicationClassloader()) { return true; } ArtifactDescriptor descriptor = context.getArtifactDescriptor(); if (descriptor == null || !descriptor.getDeploymentProperties().isPresent()) { return true; } Properties properties = descriptor.getDeploymentProperties().get(); return !parseBoolean(properties.getProperty(MULE_MUTE_APP_LOGS_DEPLOYMENT_PROPERTY, "false")); }