< prev index next >

test/java/lang/System/LoggerFinder/internal/backend/LoggerFinderBackendTest.java

Print this page

        

*** 75,84 **** --- 75,85 ---- import sun.util.logging.PlatformLogger.Level; import java.util.logging.LogManager; import java.util.logging.LogRecord; import java.util.logging.Logger; import sun.util.logging.internal.LoggingProviderImpl; + import java.lang.reflect.Module; /** * @author danielfuchs */ public class LoggerFinderBackendTest {
*** 1504,1514 **** } Logger getBackendLogger(String name) { if (isSystem) { return LoggingProviderImpl.getLogManagerAccess().demandLoggerFor( ! LogManager.getLogManager(), name, Thread.class); } else { return Logger.getLogger(name); } } --- 1505,1515 ---- } Logger getBackendLogger(String name) { if (isSystem) { return LoggingProviderImpl.getLogManagerAccess().demandLoggerFor( ! LogManager.getLogManager(), name, Thread.class.getModule()); } else { return Logger.getLogger(name); } }
*** 1697,1707 **** Collections.synchronizedMap(new HashMap<>()); final Map<String, java.lang.System.Logger> systemLoggers = Collections.synchronizedMap(new HashMap<>()); @Override ! public java.lang.System.Logger getLogger(String name, Class<?> caller) { ClassLoader callerLoader = caller.getClassLoader(); if (callerLoader == null) { systemLoggers.putIfAbsent(name, new CustomLogger(name)); return systemLoggers.get(name); } else { --- 1698,1708 ---- Collections.synchronizedMap(new HashMap<>()); final Map<String, java.lang.System.Logger> systemLoggers = Collections.synchronizedMap(new HashMap<>()); @Override ! public java.lang.System.Logger getLogger(String name, Module caller) { ClassLoader callerLoader = caller.getClassLoader(); if (callerLoader == null) { systemLoggers.putIfAbsent(name, new CustomLogger(name)); return systemLoggers.get(name); } else {
*** 1825,1836 **** @Override public void setLevel(java.lang.System.Logger logger, Level level) { final CustomLoggerFinder.CustomLogger l = (CustomLoggerFinder.CustomLogger) ! (isSystem ? provider.getLogger(logger.getName(), Thread.class) : ! provider.getLogger(logger.getName(), LoggerFinderBackendTest.class)); l.setLevel(provider.fromJul(level)); } @Override public void setLevel(java.lang.System.Logger logger, java.lang.System.Logger.Level level) { --- 1826,1837 ---- @Override public void setLevel(java.lang.System.Logger logger, Level level) { final CustomLoggerFinder.CustomLogger l = (CustomLoggerFinder.CustomLogger) ! (isSystem ? provider.getLogger(logger.getName(), Thread.class.getModule()) : ! provider.getLogger(logger.getName(), LoggerFinderBackendTest.class.getModule())); l.setLevel(provider.fromJul(level)); } @Override public void setLevel(java.lang.System.Logger logger, java.lang.System.Logger.Level level) {
*** 1838,1849 **** } CustomLoggerFinder.CustomLevel getLevel(java.lang.System.Logger logger) { final CustomLoggerFinder.CustomLogger l = (CustomLoggerFinder.CustomLogger) ! (isSystem ? provider.getLogger(logger.getName(), Thread.class) : ! provider.getLogger(logger.getName(), LoggerFinderBackendTest.class)); return l.level; } @Override public List<CustomLoggerFinder.CustomLogRecord> getBackendRecords() { --- 1839,1850 ---- } CustomLoggerFinder.CustomLevel getLevel(java.lang.System.Logger logger) { final CustomLoggerFinder.CustomLogger l = (CustomLoggerFinder.CustomLogger) ! (isSystem ? provider.getLogger(logger.getName(), Thread.class.getModule()) : ! provider.getLogger(logger.getName(), LoggerFinderBackendTest.class.getModule())); return l.level; } @Override public List<CustomLoggerFinder.CustomLogRecord> getBackendRecords() {
*** 1960,1981 **** static { // jdk.internal.logger.LazyLoggers.getLazyLogger(name, caller); try { Class<?> lazyLoggers = jdk.internal.logger.LazyLoggers.class; getLazyLogger = lazyLoggers.getMethod("getLazyLogger", ! String.class, Class.class); getLazyLogger.setAccessible(true); Class<?> loggerFinderLoader = Class.forName("java.lang.System$LoggerFinder"); accessLoggerFinder = loggerFinderLoader.getDeclaredMethod("accessProvider"); accessLoggerFinder.setAccessible(true); } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); } } ! static java.lang.System.Logger getSystemLogger(String name, Class<?> caller) throws Exception { try { return java.lang.System.Logger.class.cast(getLazyLogger.invoke(null, name, caller)); } catch (InvocationTargetException x) { Throwable t = x.getTargetException(); if (t instanceof Exception) { --- 1961,1982 ---- static { // jdk.internal.logger.LazyLoggers.getLazyLogger(name, caller); try { Class<?> lazyLoggers = jdk.internal.logger.LazyLoggers.class; getLazyLogger = lazyLoggers.getMethod("getLazyLogger", ! String.class, Module.class); getLazyLogger.setAccessible(true); Class<?> loggerFinderLoader = Class.forName("java.lang.System$LoggerFinder"); accessLoggerFinder = loggerFinderLoader.getDeclaredMethod("accessProvider"); accessLoggerFinder.setAccessible(true); } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); } } ! static java.lang.System.Logger getSystemLogger(String name, Module caller) throws Exception { try { return java.lang.System.Logger.class.cast(getLazyLogger.invoke(null, name, caller)); } catch (InvocationTargetException x) { Throwable t = x.getTargetException(); if (t instanceof Exception) {
*** 1984,1994 **** throw (Error)t; } } } static java.lang.System.Logger getSystemLogger(String name, ! ResourceBundle bundle, Class<?> caller) throws Exception { try { LoggerFinder provider = LoggerFinder.class.cast(accessLoggerFinder.invoke(null)); return provider.getLocalizedLogger(name, bundle, caller); } catch (InvocationTargetException x) { Throwable t = x.getTargetException(); --- 1985,1995 ---- throw (Error)t; } } } static java.lang.System.Logger getSystemLogger(String name, ! ResourceBundle bundle, Module caller) throws Exception { try { LoggerFinder provider = LoggerFinder.class.cast(accessLoggerFinder.invoke(null)); return provider.getLocalizedLogger(name, bundle, caller); } catch (InvocationTargetException x) { Throwable t = x.getTargetException();
*** 2045,2079 **** // Test a simple application logger with JUL backend final BackendTester tester = factory.createBackendTester(false); final java.lang.System.Logger logger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLogger("foo", LoggerFinderBackendTest.class); testLogger(tester, logger, nb); // Test a simple system logger with JUL backend final java.lang.System.Logger system = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLogger("bar", Thread.class); final BackendTester systemTester = factory.createBackendTester(true); testLogger(systemTester, system, nb); // Test a localized application logger with null resource bundle and // JUL backend final java.lang.System.Logger noBundleLogger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLocalizedLogger("baz", null, LoggerFinderBackendTest.class); final BackendTester noBundleTester = factory.createBackendTester(false, spiLoggerClass); testLogger(noBundleTester, noBundleLogger, nb); // Test a localized system logger with null resource bundle and JUL // backend final java.lang.System.Logger noBundleSysLogger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLocalizedLogger("oof", null, Thread.class); final BackendTester noBundleSysTester = factory.createBackendTester(true, spiLoggerClass); testLogger(noBundleSysTester, noBundleSysLogger, nb); // Test a localized application logger with null resource bundle and --- 2046,2080 ---- // Test a simple application logger with JUL backend final BackendTester tester = factory.createBackendTester(false); final java.lang.System.Logger logger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLogger("foo", LoggerFinderBackendTest.class.getModule()); testLogger(tester, logger, nb); // Test a simple system logger with JUL backend final java.lang.System.Logger system = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLogger("bar", Thread.class.getModule()); final BackendTester systemTester = factory.createBackendTester(true); testLogger(systemTester, system, nb); // Test a localized application logger with null resource bundle and // JUL backend final java.lang.System.Logger noBundleLogger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLocalizedLogger("baz", null, LoggerFinderBackendTest.class.getModule()); final BackendTester noBundleTester = factory.createBackendTester(false, spiLoggerClass); testLogger(noBundleTester, noBundleLogger, nb); // Test a localized system logger with null resource bundle and JUL // backend final java.lang.System.Logger noBundleSysLogger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLocalizedLogger("oof", null, Thread.class.getModule()); final BackendTester noBundleSysTester = factory.createBackendTester(true, spiLoggerClass); testLogger(noBundleSysTester, noBundleSysLogger, nb); // Test a localized application logger with null resource bundle and
*** 2083,2108 **** throw new RuntimeException("Expected NullPointerException not thrown"); } catch (NullPointerException x) { System.out.println("System.Loggers.getLogger(\"baz\", null): got expected " + x); } final java.lang.System.Logger noBundleExtensionLogger = ! getSystemLogger("baz", null, LoggerFinderBackendTest.class); final BackendTester noBundleExtensionTester = factory.createBackendTester(false, jdkLoggerClass); testLogger(noBundleExtensionTester, noBundleExtensionLogger, nb); // Test a simple system logger with JUL backend final java.lang.System.Logger sysExtensionLogger = ! getSystemLogger("oof", Thread.class); final BackendTester sysExtensionTester = factory.createBackendTester(true, jdkLoggerClass); testLogger(sysExtensionTester, sysExtensionLogger, nb); // Test a localized system logger with null resource bundle and JUL // backend final java.lang.System.Logger noBundleSysExtensionLogger = ! getSystemLogger("oof", null, Thread.class); final BackendTester noBundleSysExtensionTester = factory.createBackendTester(true, jdkLoggerClass); testLogger(noBundleSysExtensionTester, noBundleSysExtensionLogger, nb); // Test a localized application logger converted to JDK with null --- 2084,2109 ---- throw new RuntimeException("Expected NullPointerException not thrown"); } catch (NullPointerException x) { System.out.println("System.Loggers.getLogger(\"baz\", null): got expected " + x); } final java.lang.System.Logger noBundleExtensionLogger = ! getSystemLogger("baz", null, LoggerFinderBackendTest.class.getModule()); final BackendTester noBundleExtensionTester = factory.createBackendTester(false, jdkLoggerClass); testLogger(noBundleExtensionTester, noBundleExtensionLogger, nb); // Test a simple system logger with JUL backend final java.lang.System.Logger sysExtensionLogger = ! getSystemLogger("oof", Thread.class.getModule()); final BackendTester sysExtensionTester = factory.createBackendTester(true, jdkLoggerClass); testLogger(sysExtensionTester, sysExtensionLogger, nb); // Test a localized system logger with null resource bundle and JUL // backend final java.lang.System.Logger noBundleSysExtensionLogger = ! getSystemLogger("oof", null, Thread.class.getModule()); final BackendTester noBundleSysExtensionTester = factory.createBackendTester(true, jdkLoggerClass); testLogger(noBundleSysExtensionTester, noBundleSysExtensionLogger, nb); // Test a localized application logger converted to JDK with null
*** 2125,2143 **** // backend final ResourceBundle bundle = ResourceBundle.getBundle(ResourceBundeLocalized.class.getName()); final java.lang.System.Logger bundleLogger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLocalizedLogger("toto", bundle, LoggerFinderBackendTest.class); final BackendTester bundleTester = factory.createBackendTester(false, spiLoggerClass, bundle); testLogger(bundleTester, bundleLogger, nb); // Test a localized system logger with resource bundle and JUL backend final java.lang.System.Logger bundleSysLogger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLocalizedLogger("titi", bundle, Thread.class); final BackendTester bundleSysTester = factory.createBackendTester(true, spiLoggerClass, bundle); testLogger(bundleSysTester, bundleSysLogger, nb); // Test a localized Jdk application logger with resource bundle and JUL --- 2126,2144 ---- // backend final ResourceBundle bundle = ResourceBundle.getBundle(ResourceBundeLocalized.class.getName()); final java.lang.System.Logger bundleLogger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLocalizedLogger("toto", bundle, LoggerFinderBackendTest.class.getModule()); final BackendTester bundleTester = factory.createBackendTester(false, spiLoggerClass, bundle); testLogger(bundleTester, bundleLogger, nb); // Test a localized system logger with resource bundle and JUL backend final java.lang.System.Logger bundleSysLogger = java.lang.System.LoggerFinder.getLoggerFinder() ! .getLocalizedLogger("titi", bundle, Thread.class.getModule()); final BackendTester bundleSysTester = factory.createBackendTester(true, spiLoggerClass, bundle); testLogger(bundleSysTester, bundleSysLogger, nb); // Test a localized Jdk application logger with resource bundle and JUL
*** 2149,2159 **** testLogger(bundleExtensionTester, bundleExtensionLogger, nb); // Test a localized Jdk system logger with resource bundle and JUL // backend final java.lang.System.Logger bundleExtensionSysLogger = ! getSystemLogger("titu", bundle, Thread.class); final BackendTester bundleExtensionSysTester = factory.createBackendTester(true, jdkLoggerClass, bundle); testLogger(bundleExtensionSysTester, bundleExtensionSysLogger, nb); // Test a localized application logger converted to JDK with resource --- 2150,2160 ---- testLogger(bundleExtensionTester, bundleExtensionLogger, nb); // Test a localized Jdk system logger with resource bundle and JUL // backend final java.lang.System.Logger bundleExtensionSysLogger = ! getSystemLogger("titu", bundle, Thread.class.getModule()); final BackendTester bundleExtensionSysTester = factory.createBackendTester(true, jdkLoggerClass, bundle); testLogger(bundleExtensionSysTester, bundleExtensionSysLogger, nb); // Test a localized application logger converted to JDK with resource
< prev index next >