From f85c621613ab6c786f8d07e4c9d4d075c14e02e7 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Wed, 17 Jul 2019 08:32:17 +0200 Subject: [PATCH] OO-3609: reformat translation warning log --- .../gui/translator/PackageTranslator.java | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/olat/core/gui/translator/PackageTranslator.java b/src/main/java/org/olat/core/gui/translator/PackageTranslator.java index 9f10d02c39f..fb026b3d985 100644 --- a/src/main/java/org/olat/core/gui/translator/PackageTranslator.java +++ b/src/main/java/org/olat/core/gui/translator/PackageTranslator.java @@ -26,16 +26,17 @@ package org.olat.core.gui.translator; +import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; import java.util.Locale; import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.Logger; import org.olat.core.CoreSpringFactory; import org.olat.core.helpers.Settings; import org.olat.core.logging.OLATRuntimeException; -import org.apache.logging.log4j.Logger; import org.olat.core.logging.Tracing; import org.olat.core.util.i18n.I18nManager; import org.olat.core.util.i18n.I18nModule; @@ -123,7 +124,7 @@ public class PackageTranslator implements Translator { // if still null -> fallback to default locale (if not in debug mode) if (val == null) { if (Settings.isDebuging()) { - val = getErrorMessage(key); + val = getErrorMessageWithTrace(key); } else { // try with fallBackToDefaultLocale val = translate(key, args, 0, true); @@ -139,15 +140,8 @@ public class PackageTranslator implements Translator { val = getErrorMessage(key); // Workaround to prevent the warning about shibboleth-attribute if (!packageName.startsWith("org.olat.course.condition") - && missingTranslationLogLevel!=null - && !missingTranslationLogLevel.equals(Level.OFF)) { - if (missingTranslationLogLevel.equals(Level.ERROR)) { - log.error(val); - } else if (missingTranslationLogLevel.equals(Level.WARN)) { - log.warn(val); - } else if (missingTranslationLogLevel.equals(Level.INFO)) { - log.info(val); - } + && missingTranslationLogLevel != null && !missingTranslationLogLevel.equals(Level.OFF)) { + log.log(missingTranslationLogLevel, getErrorMessage(key), new OLATRuntimeException("transl dummy", null)); } // don't use error message in GUI for production, use key instead (OLAT-5896) if (!Settings.isDebuging()) { @@ -191,9 +185,23 @@ public class PackageTranslator implements Translator { * @param key * @return */ + private String getErrorMessageWithTrace(String key) { + String msg = getErrorMessage(key); + OLATRuntimeException ore = new OLATRuntimeException("transl dummy"); + //use stracktrace to find out more where the missing translation comes from + try(Writer result = new StringWriter(); + PrintWriter printWriter = new PrintWriter(result)) { + printWriter.write(msg); + ore.printStackTrace(printWriter); + return result.toString(); + } catch(IOException e) { + log.error("", e); + return msg; + } + } + private String getErrorMessage(String key) { - - StringBuilder sb = new StringBuilder(150); + StringBuilder sb = new StringBuilder(256); sb.append(NO_TRANSLATION_ERROR_PREFIX).append(key) .append(": in ").append(packageName); @@ -205,13 +213,6 @@ public class PackageTranslator implements Translator { } sb.append(", fallBackTranslator:").append(babel); sb.append(") for locale ").append(locale); - OLATRuntimeException ore = new OLATRuntimeException("transl dummy",null); - //use stracktrace to find out more where the missing translation comes from - final Writer result = new StringWriter(); - final PrintWriter printWriter = new PrintWriter(result); - ore.printStackTrace(printWriter); - - sb.append(result.toString()); return sb.toString(); } @@ -245,7 +246,7 @@ public class PackageTranslator implements Translator { @Override public String toString(){ - return "PackageTranslator for package: " + packageName + " is fallback: " + (fallBackTranslator == null) + " next child if any: \n " + ((fallBackTranslator != null && fallBackTranslator == this) ? "recurse itself !" : fallBackTranslator); + return "PackageTranslator for package: " + packageName + " is fallback: " + (fallBackTranslator == null) + " next child if any: " + ((fallBackTranslator != null && fallBackTranslator == this) ? "recurse itself !" : fallBackTranslator); } public boolean isStacked(){ -- GitLab