Make CmsLog initialisation more robust
[lgpl/argeo-commons.git] / org.argeo.api.cms / src / org / argeo / api / cms / CmsLog.java
index 96a09a91b1bfdb496cdf857a0ad4af3d2171aca0..3375bcde51e4f234f31e76b71cc747a1214fa1de 100644 (file)
@@ -235,7 +235,12 @@ public interface CmsLog {
 
        static CmsLog getLog(String name) {
                if (isSystemLoggerAvailable) {
-                       return new SystemCmsLog(name);
+                       SystemCmsLog systemCmsLog = new SystemCmsLog(name);
+                       if (systemCmsLog.logger == null) {
+                               System.err.println("System logger unexpectedly null for " + name + ", switching to fall back");
+                               return new FallBackCmsLog();
+                       }
+                       return systemCmsLog;
                } else { // typically Android
                        return new FallBackCmsLog();
                }
@@ -259,10 +264,11 @@ public interface CmsLog {
  * Java platform.
  */
 class SystemCmsLog implements CmsLog {
-       private final Logger logger;
+       final Logger logger;
 
        SystemCmsLog(String name) {
                logger = System.getLogger(name);
+               assert logger != null : "System logger should not be null";
        }
 
        @Override