--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/SettingsManager.java Thu Jul 11 02:21:18 2019 +0200
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/SettingsManager.java Fri Jul 12 15:04:28 2019 +0200
@@ -33,10 +33,10 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
import java.util.Set;
import java.util.StringJoiner;
+import jdk.jfr.internal.EventControl.NamedControl;
import jdk.jfr.internal.handlers.EventHandler;
final class SettingsManager {
@@ -213,18 +213,21 @@
void setEventControl(EventControl ec) {
InternalSetting is = getInternalSetting(ec);
- Logger.log(LogTag.JFR_SETTING, LogLevel.INFO, "Applied settings for " + ec.getEventType().getLogName() + " {");
- for (Entry<String, Control> entry : ec.getEntries()) {
+ boolean shouldLog = Logger.shouldLog(LogTag.JFR_SETTING, LogLevel.INFO);
+ if (shouldLog) {
+ Logger.log(LogTag.JFR_SETTING, LogLevel.INFO, "Applied settings for " + ec.getEventType().getLogName() + " {");
+ }
+ for (NamedControl nc: ec.getNamedControls()) {
Set<String> values = null;
- String settingName = entry.getKey();
+ String settingName = nc.name;
if (is != null) {
values = is.getValues(settingName);
}
- Control control = entry.getValue();
+ Control control = nc.control;
if (values != null) {
control.apply(values);
String after = control.getLastValue();
- if (Logger.shouldLog(LogTag.JFR_SETTING, LogLevel.INFO)) {
+ if (shouldLog) {
if (Utils.isSettingVisible(control, ec.getEventType().hasEventHook())) {
if (values.size() > 1) {
StringJoiner sj = new StringJoiner(", ", "{", "}");
@@ -241,14 +244,16 @@
}
} else {
control.setDefault();
- if (Logger.shouldLog(LogTag.JFR_SETTING, LogLevel.INFO)) {
+ if (shouldLog) {
String message = " " + settingName + "=\"" + control.getLastValue() + "\"";
Logger.log(LogTag.JFR_SETTING, LogLevel.INFO, message);
}
}
}
ec.writeActiveSettingEvent();
- Logger.log(LogTag.JFR_SETTING, LogLevel.INFO, "}");
+ if (shouldLog) {
+ Logger.log(LogTag.JFR_SETTING, LogLevel.INFO, "}");
+ }
}
private InternalSetting getInternalSetting(EventControl ec) {