java LogManager忽略已启用的断言
在调试器中单步执行java.util.logging.LogManager
代码时,我发现
由于第1301行的异常情况
try (final InputStream in = new FileInputStream(fname)) {
407号线的拦截器
assert false : "Exception raised while reading logging configuration: " + ex;
应该但不要抛出AssertionError
虚拟机选项:-ea -Djava.util.logging.config.file=logging.properties
# 1 楼答案
你必须使用
-esa
enable assertions in all system classes。根据-ea[:[packagename]...|:classname]
的文件:下面是一个测试用例,用于验证在有
-esa
和没有-esa
的情况下应该运行的行为:另一个选项是,通过将命令行设置为:
-ea -ea:java.util.logging.LogManager
,只启用用户代码的断言和日志管理器