@@ -90,9 +90,10 @@ public class ImageJ2Options extends OptionsPlugin implements Interactive {
90
90
@ Parameter (
91
91
label = "SciJava log level" ,
92
92
description = "<html>Log level for SciJava</html" ,
93
+ initializer = "initializeLogLevel" ,
93
94
callback = "setLogLevel" ,
94
95
choices = {"ERROR" , "WARN" , "INFO" , "DEBUG" , "TRACE" })
95
- private String logLevel = "WARN" ;
96
+ private String logLevel ;
96
97
97
98
@ Parameter (label = "What is ImageJ2?" , persist = false , callback = "help" )
98
99
private Button help ;
@@ -212,6 +213,11 @@ private void help() {
212
213
}
213
214
}
214
215
216
+ @ SuppressWarnings ("unused" )
217
+ private void initializeLogLevel () {
218
+ logLevel = parseLogLevel (log .getLevel ());
219
+ }
220
+
215
221
@ SuppressWarnings ("unused" )
216
222
private void setLogLevel () {
217
223
log .setLevel (parseLogLevel (logLevel ));
@@ -237,4 +243,29 @@ private int parseLogLevel(String level) {
237
243
238
244
return LogService .WARN ;
239
245
}
246
+
247
+ /**
248
+ * Parses a log level from a {@code int}
249
+ *
250
+ * FIXME Could be removed if log level is defined as enumeration
251
+ *
252
+ * @param level
253
+ * @return the {@code String} associated with the level
254
+ */
255
+ private String parseLogLevel (int level ) {
256
+ if (level == LogService .NONE )
257
+ return "NONE" ;
258
+ if (level == LogService .ERROR )
259
+ return "ERROR" ;
260
+ if (level == LogService .WARN )
261
+ return "WARN" ;
262
+ if (level == LogService .INFO )
263
+ return "INFO" ;
264
+ if (level == LogService .DEBUG )
265
+ return "DEBUG" ;
266
+ if (level == LogService .TRACE )
267
+ return "TRACE" ;
268
+
269
+ return "WARN" ;
270
+ }
240
271
}
0 commit comments