< prev index next >

test/java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java

Print this page




 164                 logger.log(level, bundle, format, params);
 165             }
 166 
 167         }
 168 
 169         public Logger getLogger(String name, Class<?> caller);
 170         public Logger getLocalizedLogger(String name, ResourceBundle bundle, Class<?> caller);
 171     }
 172 
 173     public static class BaseLoggerFinder extends LoggerFinder implements TestLoggerFinder {
 174 
 175         static final RuntimePermission LOGGERFINDER_PERMISSION =
 176                     new RuntimePermission("loggerFinder");
 177         public BaseLoggerFinder() {
 178             if (fails.get()) {
 179                 throw new RuntimeException("Simulate exception while loading provider");
 180             }
 181         }
 182 
 183         System.Logger createSimpleLogger(String name) {
 184             PrivilegedAction<System.Logger> pa = () -> SimpleConsoleLogger.makeSimpleLogger(name, false);
 185             return AccessController.doPrivileged(pa);
 186         }
 187 
 188 
 189         @Override
 190         public Logger getLogger(String name, Class<?> caller) {
 191             SecurityManager sm = System.getSecurityManager();
 192             if (sm != null) {
 193                 sm.checkPermission(LOGGERFINDER_PERMISSION);
 194             }
 195             PrivilegedAction<ClassLoader> pa = () -> caller.getClassLoader();
 196             ClassLoader callerLoader = AccessController.doPrivileged(pa);
 197             if (callerLoader == null) {
 198                 return system.computeIfAbsent(name, (n) -> new LoggerImpl(n, createSimpleLogger(name)));
 199             } else {
 200                 return user.computeIfAbsent(name, (n) -> new LoggerImpl(n, createSimpleLogger(name)));
 201             }
 202         }
 203     }
 204 




 164                 logger.log(level, bundle, format, params);
 165             }
 166 
 167         }
 168 
 169         public Logger getLogger(String name, Class<?> caller);
 170         public Logger getLocalizedLogger(String name, ResourceBundle bundle, Class<?> caller);
 171     }
 172 
 173     public static class BaseLoggerFinder extends LoggerFinder implements TestLoggerFinder {
 174 
 175         static final RuntimePermission LOGGERFINDER_PERMISSION =
 176                     new RuntimePermission("loggerFinder");
 177         public BaseLoggerFinder() {
 178             if (fails.get()) {
 179                 throw new RuntimeException("Simulate exception while loading provider");
 180             }
 181         }
 182 
 183         System.Logger createSimpleLogger(String name) {
 184             PrivilegedAction<System.Logger> pa = () -> SimpleConsoleLogger.makeSimpleLogger(name);
 185             return AccessController.doPrivileged(pa);
 186         }
 187 
 188 
 189         @Override
 190         public Logger getLogger(String name, Class<?> caller) {
 191             SecurityManager sm = System.getSecurityManager();
 192             if (sm != null) {
 193                 sm.checkPermission(LOGGERFINDER_PERMISSION);
 194             }
 195             PrivilegedAction<ClassLoader> pa = () -> caller.getClassLoader();
 196             ClassLoader callerLoader = AccessController.doPrivileged(pa);
 197             if (callerLoader == null) {
 198                 return system.computeIfAbsent(name, (n) -> new LoggerImpl(n, createSimpleLogger(name)));
 199             } else {
 200                 return user.computeIfAbsent(name, (n) -> new LoggerImpl(n, createSimpleLogger(name)));
 201             }
 202         }
 203     }
 204 


< prev index next >