author | dfuchs |
Sun, 22 Dec 2013 11:20:07 +0100 | |
changeset 22086 | 866b0a7d0127 |
child 30820 | 0d4717a011d3 |
permissions | -rw-r--r-- |
22086
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
1 |
/* |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
2 |
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
3 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
4 |
* |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
5 |
* This code is free software; you can redistribute it and/or modify it |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
6 |
* under the terms of the GNU General Public License version 2 only, as |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation. |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
8 |
* |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
9 |
* This code is distributed in the hope that it will be useful, but WITHOUT |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
10 |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
11 |
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
12 |
* version 2 for more details (a copy is included in the LICENSE file that |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
13 |
* accompanied this code). |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
14 |
* |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
15 |
* You should have received a copy of the GNU General Public License version |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
16 |
* 2 along with this work; if not, write to the Free Software Foundation, |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
17 |
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
18 |
* |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
19 |
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
20 |
* or visit www.oracle.com if you need additional information or have any |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
21 |
* questions. |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
22 |
*/ |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
23 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
24 |
import java.io.File; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
25 |
import java.io.FilePermission; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
26 |
import java.io.IOException; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
27 |
import java.security.Permission; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
28 |
import java.security.PermissionCollection; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
29 |
import java.security.Permissions; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
30 |
import java.security.Policy; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
31 |
import java.security.ProtectionDomain; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
32 |
import java.util.PropertyPermission; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
33 |
import java.util.logging.Level; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
34 |
import java.util.logging.LogManager; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
35 |
import java.util.logging.Logger; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
36 |
import java.util.logging.LoggingPermission; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
37 |
import sun.misc.JavaAWTAccess; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
38 |
import sun.misc.SharedSecrets; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
39 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
40 |
/** |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
41 |
* @test |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
42 |
* @bug 8030850 |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
43 |
* @summary Tests that setting .level=FINEST for the root logger in logging |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
44 |
* configuration file does work. |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
45 |
* @run main/othervm RootLevelInConfigFile |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
46 |
* |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
47 |
* @author danielfuchs |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
48 |
*/ |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
49 |
public class RootLevelInConfigFile { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
50 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
51 |
public final static String CONFIG_FILE_KEY = "java.util.logging.config.file"; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
52 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
53 |
public static void main(String[] args) throws IOException { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
54 |
System.setProperty(CONFIG_FILE_KEY, |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
55 |
new File(System.getProperty("test.src", "."), |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
56 |
"rootlogger.properties").getAbsolutePath()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
57 |
System.out.println(CONFIG_FILE_KEY + "=" |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
58 |
+ System.getProperty(CONFIG_FILE_KEY)); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
59 |
if (! new File(System.getProperty(CONFIG_FILE_KEY)).canRead()) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
60 |
throw new RuntimeException("can't read config file: " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
61 |
+ System.getProperty(CONFIG_FILE_KEY)); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
62 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
63 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
64 |
final String configFile = System.getProperty(CONFIG_FILE_KEY); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
65 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
66 |
test("no security"); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
67 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
68 |
LogManager.getLogManager().readConfiguration(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
69 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
70 |
Policy.setPolicy(new SimplePolicy(configFile)); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
71 |
System.setSecurityManager(new SecurityManager()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
72 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
73 |
test("security"); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
74 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
75 |
LogManager.getLogManager().readConfiguration(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
76 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
77 |
final JavaAWTAccessStub access = new JavaAWTAccessStub(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
78 |
SharedSecrets.setJavaAWTAccess(access); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
79 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
80 |
test("security and no context"); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
81 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
82 |
for (Context ctx : Context.values()) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
83 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
84 |
LogManager.getLogManager().readConfiguration(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
85 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
86 |
access.setContext(ctx); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
87 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
88 |
test("security and context " + ctx); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
89 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
90 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
91 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
92 |
public static void test(String conf) throws IOException { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
93 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
94 |
System.out.println("Testing with " + conf); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
95 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
96 |
testLoggableLevels(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
97 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
98 |
LogManager.getLogManager().readConfiguration(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
99 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
100 |
testLoggableLevels(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
101 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
102 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
103 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
104 |
private static void testLoggableLevels() { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
105 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
106 |
Logger foobar = Logger.getLogger("foo.bar"); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
107 |
if (!foobar.isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
108 |
throw new RuntimeException("Expected FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
109 |
+ foobar.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
110 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
111 |
if (!foobar.getParent().isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
112 |
throw new RuntimeException("Expected FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
113 |
+ foobar.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
114 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
115 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
116 |
Logger global = Logger.getGlobal(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
117 |
if (!global.isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
118 |
throw new RuntimeException("Expected FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
119 |
+ global.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
120 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
121 |
if (!global.getParent().isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
122 |
throw new RuntimeException("Expected FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
123 |
+ global.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
124 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
125 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
126 |
Logger root = Logger.getLogger(""); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
127 |
if (!global.isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
128 |
throw new RuntimeException("Expected FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
129 |
+ root.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
130 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
131 |
if (!global.getParent().isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
132 |
throw new RuntimeException("Expected FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
133 |
+ root.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
134 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
135 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
136 |
root.setLevel(Level.FINER); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
137 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
138 |
if (foobar.isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
139 |
throw new RuntimeException("Didn't expect FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
140 |
+ foobar.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
141 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
142 |
if (foobar.getParent().isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
143 |
throw new RuntimeException("Didn't expect FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
144 |
+ foobar.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
145 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
146 |
if (global.isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
147 |
throw new RuntimeException("Didn't expect FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
148 |
+ global.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
149 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
150 |
if (global.getParent().isLoggable(Level.FINEST)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
151 |
throw new RuntimeException("Didn't expect FINEST to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
152 |
+ global.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
153 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
154 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
155 |
if (!foobar.isLoggable(Level.FINER)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
156 |
throw new RuntimeException("Expected FINER to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
157 |
+ foobar.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
158 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
159 |
if (!foobar.getParent().isLoggable(Level.FINER)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
160 |
throw new RuntimeException("Expected FINER to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
161 |
+ foobar.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
162 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
163 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
164 |
if (!global.isLoggable(Level.FINER)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
165 |
throw new RuntimeException("Expected FINER to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
166 |
+ global.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
167 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
168 |
if (!global.getParent().isLoggable(Level.FINER)) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
169 |
throw new RuntimeException("Expected FINER to be loggable in " |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
170 |
+ global.getName()); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
171 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
172 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
173 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
174 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
175 |
static final class SimplePolicy extends Policy { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
176 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
177 |
final PermissionCollection perms = new Permissions(); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
178 |
public SimplePolicy(String configFile) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
179 |
perms.add(new LoggingPermission("control", null)); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
180 |
perms.add(new PropertyPermission("java.util.logging.config.class","read")); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
181 |
perms.add(new PropertyPermission("java.util.logging.config.file","read")); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
182 |
perms.add(new FilePermission(configFile, "read")); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
183 |
perms.add(new RuntimePermission("accessClassInPackage.sun.misc")); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
184 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
185 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
186 |
@Override |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
187 |
public boolean implies(ProtectionDomain domain, Permission permission) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
188 |
return perms.implies(permission); |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
189 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
190 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
191 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
192 |
static enum Context { ONE, TWO }; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
193 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
194 |
static final class JavaAWTAccessStub implements JavaAWTAccess { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
195 |
private Context context; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
196 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
197 |
public void setContext(Context context) { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
198 |
this.context = context; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
199 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
200 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
201 |
@Override |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
202 |
public Object getAppletContext() { |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
203 |
return context; |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
204 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
205 |
} |
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
206 |
|
866b0a7d0127
8030850: Setting .level=FINEST in logging configuration file doesn't work
dfuchs
parents:
diff
changeset
|
207 |
} |