diff --git a/buildSrc/src/main/kotlin/flatlaf-java9.gradle.kts b/buildSrc/src/main/kotlin/flatlaf-java9.gradle.kts index 7e5b2ceb..49c751a1 100644 --- a/buildSrc/src/main/kotlin/flatlaf-java9.gradle.kts +++ b/buildSrc/src/main/kotlin/flatlaf-java9.gradle.kts @@ -27,6 +27,10 @@ if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) { } } + dependencies { + add( "java9Compile", sourceSets.main.get().output ) + } + tasks { named( "compileJava9Java" ) { sourceCompatibility = "9" diff --git a/buildSrc/src/main/kotlin/flatlaf-module-info.gradle.kts b/buildSrc/src/main/kotlin/flatlaf-module-info.gradle.kts index a78879c6..5c464a84 100644 --- a/buildSrc/src/main/kotlin/flatlaf-module-info.gradle.kts +++ b/buildSrc/src/main/kotlin/flatlaf-module-info.gradle.kts @@ -33,9 +33,17 @@ if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) { sourceSets { create( "module-info" ) { java { - // include "src/main/java" here to get compile errors if classes are + // include "src/main/java" and "src/main/java9" here to get compile errors if classes are // used from other modules that are not specified in module dependencies - setSrcDirs( listOf( "src/main/module-info", "src/main/java" ) ) + setSrcDirs( listOf( "src/main/module-info", "src/main/java", "src/main/java9" ) ) + + // exclude Java 8 source file if an equally named Java 9+ source file exists + exclude { + if( it.isDirectory ) + return@exclude false + val java9file = file( "${projectDir}/src/main/java9/${it.path}" ) + java9file.exists() && java9file != it.file + } } } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java index 02fed69b..04d73c04 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java @@ -38,8 +38,6 @@ import java.util.Properties; import java.util.ServiceLoader; import java.util.function.Consumer; import java.util.function.Function; -import java.util.logging.Level; -import java.util.logging.Logger; import javax.swing.BorderFactory; import javax.swing.Icon; import javax.swing.ImageIcon; @@ -62,6 +60,7 @@ import javax.swing.text.html.HTMLEditorKit; import com.formdev.flatlaf.ui.FlatPopupFactory; import com.formdev.flatlaf.ui.JBRCustomDecorations; import com.formdev.flatlaf.util.GrayFilter; +import com.formdev.flatlaf.util.LoggingFacade; import com.formdev.flatlaf.util.MultiResolutionImageSupport; import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.UIScale; @@ -74,7 +73,6 @@ import com.formdev.flatlaf.util.UIScale; public abstract class FlatLaf extends BasicLookAndFeel { - static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() ); private static final String DESKTOPFONTHINTS = "awt.font.desktophints"; private static List customDefaultsSources; @@ -103,7 +101,7 @@ public abstract class FlatLaf UIManager.setLookAndFeel( newLookAndFeel ); return true; } catch( Exception ex ) { - LOG.log( Level.SEVERE, "FlatLaf: Failed to initialize look and feel '" + newLookAndFeel.getClass().getName() + "'.", ex ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to initialize look and feel '" + newLookAndFeel.getClass().getName() + "'.", ex ); return false; } } @@ -341,7 +339,7 @@ public abstract class FlatLaf } else aquaLaf = (BasicLookAndFeel) Class.forName( aquaLafClassName ).newInstance(); } catch( Exception ex ) { - LOG.log( Level.SEVERE, "FlatLaf: Failed to initialize Aqua look and feel '" + aquaLafClassName + "'.", ex ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to initialize Aqua look and feel '" + aquaLafClassName + "'.", ex ); throw new IllegalStateException(); } @@ -577,7 +575,7 @@ public abstract class FlatLaf .invoke( null, true ); defaults.put( key, value ); } catch( Exception ex ) { - Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex ); + LoggingFacade.INSTANCE.logSevere( null, ex ); throw new RuntimeException( ex ); } } @@ -684,7 +682,7 @@ public abstract class FlatLaf // update UI updateUI(); } catch( UnsupportedLookAndFeelException ex ) { - LOG.log( Level.SEVERE, "FlatLaf: Failed to reinitialize look and feel '" + lookAndFeel.getClass().getName() + "'.", ex ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to reinitialize look and feel '" + lookAndFeel.getClass().getName() + "'.", ex ); } } ); } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java index 1c3fa053..86c443b5 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java @@ -30,11 +30,11 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.logging.Level; import javax.swing.UIDefaults; import javax.swing.plaf.ColorUIResource; import com.formdev.flatlaf.json.Json; import com.formdev.flatlaf.json.ParseException; +import com.formdev.flatlaf.util.LoggingFacade; import com.formdev.flatlaf.util.StringUtils; /** @@ -76,7 +76,7 @@ public class IntelliJTheme try { return FlatLaf.install( createLaf( in ) ); } catch( Exception ex ) { - FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: Failed to load IntelliJ theme", ex ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to load IntelliJ theme", ex ); return false; } } @@ -324,7 +324,7 @@ public class IntelliJTheme try { uiValue = UIDefaultsLoader.parseValue( key, valueStr ); } catch( RuntimeException ex ) { - UIDefaultsLoader.logParseError( Level.CONFIG, key, valueStr, ex ); + UIDefaultsLoader.logParseError( key, valueStr, ex, false ); return; // ignore invalid value } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/LinuxFontPolicy.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/LinuxFontPolicy.java index fbd7f8c0..d6c585bf 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/LinuxFontPolicy.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/LinuxFontPolicy.java @@ -28,7 +28,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; -import java.util.logging.Level; + +import com.formdev.flatlaf.util.LoggingFacade; import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.UIScale; @@ -172,7 +173,7 @@ class LinuxFontPolicy if( "1".equals( strs.get( 5 ) ) ) style |= Font.ITALIC; } catch( RuntimeException ex ) { - FlatLaf.LOG.log( Level.CONFIG, "FlatLaf: Failed to parse 'font=" + generalFont + "'.", ex ); + LoggingFacade.INSTANCE.logConfig( "FlatLaf: Failed to parse 'font=" + generalFont + "'.", ex ); } } @@ -186,7 +187,7 @@ class LinuxFontPolicy if( dpi < 50 ) dpi = 50; } catch( NumberFormatException ex ) { - FlatLaf.LOG.log( Level.CONFIG, "FlatLaf: Failed to parse 'forceFontDPI=" + forceFontDPI + "'.", ex ); + LoggingFacade.INSTANCE.logConfig( "FlatLaf: Failed to parse 'forceFontDPI=" + forceFontDPI + "'.", ex ); } } @@ -225,7 +226,7 @@ class LinuxFontPolicy while( (line = reader.readLine()) != null ) lines.add( line ); } catch( IOException ex ) { - FlatLaf.LOG.log( Level.CONFIG, "FlatLaf: Failed to read '" + filename + "'.", ex ); + LoggingFacade.INSTANCE.logConfig( "FlatLaf: Failed to read '" + filename + "'.", ex ); } return lines; } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java index 07c83736..f490e6a3 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java @@ -33,7 +33,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Properties; import java.util.function.Function; -import java.util.logging.Level; import javax.swing.UIDefaults; import javax.swing.UIManager; import javax.swing.UIDefaults.ActiveValue; @@ -48,6 +47,7 @@ import com.formdev.flatlaf.util.ColorFunctions.ColorFunction; import com.formdev.flatlaf.util.DerivedColor; import com.formdev.flatlaf.util.GrayFilter; import com.formdev.flatlaf.util.HSLColor; +import com.formdev.flatlaf.util.LoggingFacade; import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.UIScale; @@ -243,16 +243,20 @@ class UIDefaultsLoader try { defaults.put( key, parseValue( key, value, null, resolver, addonClassLoaders ) ); } catch( RuntimeException ex ) { - logParseError( Level.SEVERE, key, value, ex ); + logParseError( key, value, ex, true ); } } } catch( IOException ex ) { - FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: Failed to load properties files.", ex ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to load properties files.", ex ); } } - static void logParseError( Level level, String key, String value, RuntimeException ex ) { - FlatLaf.LOG.log( level, "FlatLaf: Failed to parse: '" + key + '=' + value + '\'', ex ); + static void logParseError( String key, String value, RuntimeException ex, boolean severe ) { + String message = "FlatLaf: Failed to parse: '" + key + '=' + value + '\''; + if( severe ) + LoggingFacade.INSTANCE.logSevere( message, ex ); + else + LoggingFacade.INSTANCE.logConfig( message, ex ); } static String resolveValue( String value, Function propertiesGetter ) { @@ -440,7 +444,7 @@ class UIDefaultsLoader try { return findClass( value, addonClassLoaders ).newInstance(); } catch( InstantiationException | IllegalAccessException | ClassNotFoundException ex ) { - FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: Failed to instantiate '" + value + "'.", ex ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to instantiate '" + value + "'.", ex ); return null; } }; @@ -451,7 +455,7 @@ class UIDefaultsLoader try { return findClass( value, addonClassLoaders ); } catch( ClassNotFoundException ex ) { - FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: Failed to find class '" + value + "'.", ex ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to find class '" + value + "'.", ex ); return null; } }; @@ -928,7 +932,7 @@ class UIDefaultsLoader Object value = UIManager.get( uiKey ); if( value == null && !optional ) - FlatLaf.LOG.log( Level.SEVERE, "FlatLaf: '" + uiKey + "' not found in UI defaults." ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: '" + uiKey + "' not found in UI defaults.", null ); return value; } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/JBRCustomDecorations.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/JBRCustomDecorations.java index e3d68e7d..e79fb165 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/JBRCustomDecorations.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/JBRCustomDecorations.java @@ -30,8 +30,6 @@ import java.awt.event.HierarchyListener; import java.beans.PropertyChangeListener; import java.lang.reflect.Method; import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JRootPane; @@ -40,6 +38,7 @@ import javax.swing.UIManager; import javax.swing.plaf.BorderUIResource; import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.FlatSystemProperties; +import com.formdev.flatlaf.util.LoggingFacade; import com.formdev.flatlaf.util.HiDPIUtils; import com.formdev.flatlaf.util.SystemInfo; @@ -155,7 +154,7 @@ public class JBRCustomDecorations try { return (Boolean) Window_hasCustomDecoration.invoke( window ); } catch( Exception ex ) { - Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex ); + LoggingFacade.INSTANCE.logSevere( null, ex ); return false; } } @@ -167,7 +166,7 @@ public class JBRCustomDecorations try { Window_setHasCustomDecoration.invoke( window ); } catch( Exception ex ) { - Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex ); + LoggingFacade.INSTANCE.logSevere( null, ex ); } } @@ -181,7 +180,7 @@ public class JBRCustomDecorations WWindowPeer_setCustomDecorationHitTestSpots.invoke( peer, hitTestSpots ); WWindowPeer_setCustomDecorationTitleBarHeight.invoke( peer, titleBarHeight ); } catch( Exception ex ) { - Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex ); + LoggingFacade.INSTANCE.logSevere( null, ex ); } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/JavaCompatibility.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/JavaCompatibility.java index f4e740fc..1f94dc55 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/JavaCompatibility.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/JavaCompatibility.java @@ -21,10 +21,7 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.logging.Level; -import java.util.logging.Logger; import javax.swing.JComponent; -import com.formdev.flatlaf.FlatLaf; /** * Provides Java version compatibility methods. @@ -58,7 +55,7 @@ public class JavaCompatibility ? new Class[] { JComponent.class, Graphics2D.class, String.class, int.class, float.class, float.class } : new Class[] { JComponent.class, Graphics.class, String.class, int.class, int.class, int.class } ); } catch( Exception ex ) { - Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex ); + LoggingFacade.INSTANCE.logSevere( null, ex ); throw new RuntimeException( ex ); } } @@ -70,7 +67,7 @@ public class JavaCompatibility else drawStringUnderlineCharAtMethod.invoke( null, c, g, text, underlinedIndex, x, y ); } catch( IllegalAccessException | IllegalArgumentException | InvocationTargetException ex ) { - Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex ); + LoggingFacade.INSTANCE.logSevere( null, ex ); throw new RuntimeException( ex ); } } @@ -94,7 +91,7 @@ public class JavaCompatibility : "clipStringIfNecessary", new Class[] { JComponent.class, FontMetrics.class, String.class, int.class } ); } catch( Exception ex ) { - Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex ); + LoggingFacade.INSTANCE.logSevere( null, ex ); throw new RuntimeException( ex ); } } @@ -103,7 +100,7 @@ public class JavaCompatibility try { return (String) getClippedStringMethod.invoke( null, c, fm, string, availTextWidth ); } catch( IllegalAccessException | IllegalArgumentException | InvocationTargetException ex ) { - Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex ); + LoggingFacade.INSTANCE.logSevere( null, ex ); throw new RuntimeException( ex ); } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/LoggingFacade.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/LoggingFacade.java new file mode 100644 index 00000000..ec0a933b --- /dev/null +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/LoggingFacade.java @@ -0,0 +1,25 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.util; + +public interface LoggingFacade +{ + LoggingFacade INSTANCE = new LoggingFacadeImpl(); + + void logSevere( String message, Throwable t ); + void logConfig( String message, Throwable t ); +} diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/LoggingFacadeImpl.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/LoggingFacadeImpl.java new file mode 100644 index 00000000..433a0944 --- /dev/null +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/LoggingFacadeImpl.java @@ -0,0 +1,37 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.util; + +import com.formdev.flatlaf.FlatLaf; +import java.util.logging.Level; +import java.util.logging.Logger; + +class LoggingFacadeImpl + implements LoggingFacade +{ + private static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() ); + + @Override + public void logSevere( String message, Throwable t ) { + LOG.log( Level.SEVERE, message, t ); + } + + @Override + public void logConfig( String message, Throwable t ) { + LOG.log( Level.CONFIG, message, t ); + } +} diff --git a/flatlaf-core/src/main/java9/com/formdev/flatlaf/util/LoggingFacadeImpl.java b/flatlaf-core/src/main/java9/com/formdev/flatlaf/util/LoggingFacadeImpl.java new file mode 100644 index 00000000..0f29120f --- /dev/null +++ b/flatlaf-core/src/main/java9/com/formdev/flatlaf/util/LoggingFacadeImpl.java @@ -0,0 +1,35 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.util; + +import com.formdev.flatlaf.FlatLaf; + +class LoggingFacadeImpl + implements LoggingFacade +{ + private static final System.Logger LOG = System.getLogger( FlatLaf.class.getName() ); + + @Override + public void logSevere( String message, Throwable t ) { + LOG.log( System.Logger.Level.ERROR, message, t ); + } + + @Override + public void logConfig( String message, Throwable t ) { + LOG.log( System.Logger.Level.DEBUG, message, t ); + } +} diff --git a/flatlaf-core/src/main/module-info/module-info.java b/flatlaf-core/src/main/module-info/module-info.java index e8e9dc4c..55b361f7 100644 --- a/flatlaf-core/src/main/module-info/module-info.java +++ b/flatlaf-core/src/main/module-info/module-info.java @@ -19,7 +19,6 @@ */ module com.formdev.flatlaf { requires java.desktop; - requires java.logging; exports com.formdev.flatlaf; exports com.formdev.flatlaf.icons; diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/Utils.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/Utils.java index 0392cd94..4d37b99b 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/Utils.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/Utils.java @@ -17,25 +17,21 @@ package com.formdev.flatlaf.intellijthemes; import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; -import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.IntelliJTheme; +import com.formdev.flatlaf.util.LoggingFacade; /** * @author Karl Tauber */ class Utils { - static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() ); - static IntelliJTheme loadTheme( String name ) { try { return new IntelliJTheme( Utils.class.getResourceAsStream( "/com/formdev/flatlaf/intellijthemes/themes/" + name ) ); } catch( IOException ex ) { String msg = "FlatLaf: Failed to load IntelliJ theme '" + name + "'"; - LOG.log( Level.SEVERE, msg, ex ); + LoggingFacade.INSTANCE.logSevere( msg, ex ); throw new RuntimeException( msg, ex ); } } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/Utils.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/Utils.java index f5523cca..957c2ddc 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/Utils.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/Utils.java @@ -17,25 +17,21 @@ package com.formdev.flatlaf.intellijthemes.materialthemeuilite; import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; -import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.IntelliJTheme; +import com.formdev.flatlaf.util.LoggingFacade; /** * @author Karl Tauber */ class Utils { - static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() ); - static IntelliJTheme loadTheme( String name ) { try { return new IntelliJTheme( Utils.class.getResourceAsStream( "/com/formdev/flatlaf/intellijthemes/themes/material-theme-ui-lite/" + name ) ); } catch( IOException ex ) { String msg = "FlatLaf: Failed to load IntelliJ theme '" + name + "'"; - LOG.log( Level.SEVERE, msg, ex ); + LoggingFacade.INSTANCE.logSevere( msg, ex ); throw new RuntimeException( msg, ex ); } } diff --git a/flatlaf-intellij-themes/src/main/module-info/module-info.java b/flatlaf-intellij-themes/src/main/module-info/module-info.java index c6c87c20..fc6caf64 100644 --- a/flatlaf-intellij-themes/src/main/module-info/module-info.java +++ b/flatlaf-intellij-themes/src/main/module-info/module-info.java @@ -19,7 +19,6 @@ */ module com.formdev.flatlaf.intellijthemes { requires java.desktop; - requires java.logging; requires com.formdev.flatlaf; exports com.formdev.flatlaf.intellijthemes;