diff --git a/server/src/com/mirth/connect/server/migration/Migrate4_5_2.java b/server/src/com/mirth/connect/server/migration/Migrate4_5_2.java index fefeaeea31..a3a95aebfe 100644 --- a/server/src/com/mirth/connect/server/migration/Migrate4_5_2.java +++ b/server/src/com/mirth/connect/server/migration/Migrate4_5_2.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import java.net.URI; import java.util.Map; import org.apache.commons.configuration2.PropertiesConfiguration; @@ -23,33 +24,29 @@ public void migrate() throws MigrationException { migrateLog4jProperties(); } - private void migrateLog4jProperties() { - try { - // Update log4j2.properties - FileBasedConfigurationBuilder builder = PropertiesConfigurationUtil.createBuilder(new File(ClassPathResource.getResourceURI("log4j2.properties"))); - PropertiesConfiguration log4jproperties = builder.getConfiguration(); - - String consoleCharset = (String) log4jproperties.getProperty("appender.console.layout.charset"); - if (StringUtils.isBlank(consoleCharset)) { - log4jproperties.setProperty("appender.console.layout.charset", "UTF-8"); - } - - builder.save(); - - // Update log4j2-cli.properties - builder = PropertiesConfigurationUtil.createBuilder(new File(ClassPathResource.getResourceURI("log4j2-cli.properties"))); - log4jproperties = builder.getConfiguration(); - - consoleCharset = (String) log4jproperties.getProperty("appender.console.layout.charset"); - if (StringUtils.isBlank(consoleCharset)) { - log4jproperties.setProperty("appender.console.layout.charset", "UTF-8"); - } + private void migrateLog4jProperties() { + updateAppender("log4j2.properties"); + updateAppender("log4j2-cli.properties"); + } - builder.save(); - } catch (ConfigurationException | IOException e) { - logger.error("Failed to migrate log4j properties.", e); - } - } + private void updateAppender(String fileName) { + try { + URI uri = ClassPathResource.getResourceURI(fileName); + if (uri == null) { + logger.info("Migration could not find {}.", fileName); + return; + } + FileBasedConfigurationBuilder builder = PropertiesConfigurationUtil.createBuilder(new File(uri)); + PropertiesConfiguration properties = builder.getConfiguration(); + String consoleCharset = (String) properties.getProperty("appender.console.layout.charset"); + if (StringUtils.isBlank(consoleCharset)) { + properties.setProperty("appender.console.layout.charset", "UTF-8"); + builder.save(); + } + } catch (ConfigurationException | IOException e) { + logger.error(String.format("Failed to migrate %s.", fileName), e); + } + } @Override public Map getConfigurationPropertiesToAdd() {