diff --git a/src/metabase/util/i18n/impl.clj b/src/metabase/util/i18n/impl.clj index 2262492a3bf1cb724fea091b68666985cafcf0a9..a751953480aaabf788b09bac557ad06e1bb1ebc9 100644 --- a/src/metabase/util/i18n/impl.clj +++ b/src/metabase/util/i18n/impl.clj @@ -190,9 +190,16 @@ (f))))))))) (defn site-locale-from-setting - "Fetch the value of the `site-locale` Setting." + "Fetch the value of the `site-locale` Setting. + When metabase is shutting down, we need to log some messages after the db connection is closed, so we keep around a + cached-site-locale for that purpose." [] - (@site-locale-from-setting-fn)) + (let [cached-site-locale (atom "en")] + (try + (let [site-locale (@site-locale-from-setting-fn)] + (reset! cached-site-locale site-locale) + site-locale) + (catch Exception e @cached-site-locale)))) (defmethod print-method Locale [locale ^java.io.Writer writer]