File tree Expand file tree Collapse file tree 2 files changed +17
-0
lines changed
main/java/org/scijava/log
test/java/org/scijava/log Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ public AbstractLogService(final Properties properties) {
7070 if (level >= 0 ) currentLevel = level ;
7171 classAndPackageLevels = setupMapFromProperties (properties ,
7272 LogService .LOG_LEVEL_PROPERTY + ":" );
73+ initLogSourceLevels (properties );
7374 }
7475
7576 // -- AbstractLogService methods --
@@ -140,6 +141,12 @@ protected String getPrefix(final int level) {
140141
141142 // -- Helper methods --
142143
144+ private void initLogSourceLevels (Properties properties ) {
145+ Map <String , Integer > nameLevels = setupMapFromProperties (properties ,
146+ LOG_LEVEL_BY_SOURCE_PROPERTY + ":" );
147+ nameLevels .forEach (this ::setLevelForLogger );
148+ }
149+
143150 private int getLevelForClass (String classOrPackageName , int defaultLevel ) {
144151 // check for a custom log level for calling class or its parent packages
145152 while (classOrPackageName != null ) {
Original file line number Diff line number Diff line change @@ -165,6 +165,16 @@ public void testSubLoggerLogLevel() {
165165 assertEquals (LogLevel .TRACE , sub .getLevel ());
166166 }
167167
168+ @ Test
169+ public void testSubLoggerLogLevelViaProperties () {
170+ Properties properties = new Properties ();
171+ properties .setProperty (LogService .LOG_LEVEL_BY_SOURCE_PROPERTY + ":Hello:World" , LogLevel .prefix (LogLevel .ERROR ));
172+ properties .setProperty (LogService .LOG_LEVEL_BY_SOURCE_PROPERTY + ":foo:bar" , LogLevel .prefix (LogLevel .TRACE ));
173+ final LogService log = new TestableLogService (properties );
174+ Logger sub = log .subLogger ("foo" ).subLogger ("bar" );
175+ assertEquals (LogLevel .TRACE , sub .getLevel ());
176+ }
177+
168178 @ Test
169179 public void testPackageLogLevel () {
170180 final LogService log = new TestableLogService ();
You can’t perform that action at this time.
0 commit comments