Changeset 2399
- Timestamp:
- 07/15/09 23:18:57 (4 years ago)
- Location:
- coldbox/trunk
- Files:
-
- 1 added
- 3 modified
-
system/logging/LogBox.cfc (modified) (4 diffs)
-
testharness/handlers/ehGeneral.cfc (modified) (2 diffs)
-
testharness/model/TimeSlotService.cfc (added)
-
testing/cases/logging/LogBoxTest.cfc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
coldbox/trunk/system/logging/LogBox.cfc
r2397 r2399 34 34 instance.categoryAppenders = ""; 35 35 // Version 36 instance.version = "1.0 Beta ";36 instance.version = "1.0 Beta 2"; 37 37 // Configuration object 38 38 instance.config = ""; … … 123 123 arguments.category = trim(arguments.category); 124 124 125 //Is logger created already?125 //Is logger by category name created already? 126 126 if( structKeyExists(instance.loggerRegistry,arguments.category) ){ 127 127 return instance.loggerRegistry[arguments.category]; 128 128 } 129 130 //Do we have a cat definition? 129 //Do we have a category definition, so we can build it? 131 130 if( getConfig().categoryExists(arguments.category) ){ 132 131 categoryConfig = getConfig().getCategory(arguments.category); 132 // Setup creation arguments 133 133 args.category = categoryConfig.name; 134 134 args.levelMin = categoryConfig.levelMin; … … 137 137 } 138 138 else{ 139 // Do139 // Setup new category name 140 140 args.category = arguments.category; 141 // Do Category Inheritance? or else just return the root logger. 142 root = locateCategoryParentLogger(arguments.category); 143 // Setup the category levels according to parent found. 141 144 args.levelMin = root.getLevelMin(); 142 145 args.levelMax = root.getLevelMax(); … … 174 177 175 178 <!------------------------------------------- PRIVATE ------------------------------------------> 179 180 <!--- locateCategoryParentLogger ---> 181 <cffunction name="locateCategoryParentLogger" output="false" access="private" returntype="any" hint="Get a parent logger according to category convention inheritance. If not found, it returns the root logger."> 182 <cfargument name="category" type="string" required="true" hint="The category name to investigate for parents."/> 183 <cfscript> 184 // Get parent category name shortened by one. 185 var parentCategory = listDeleteAt(arguments.category, listLen(arguments.category,"."), "."); 186 187 // Check if parent Category is empty 188 if( len(parentCategory) EQ 0 ){ 189 // Just return the root logger, nothing found. 190 return getRootLogger(); 191 } 192 // Does it exist already in the instantiated loggers? 193 if( structKeyExists(instance.loggerRegistry,parentCategory) ){ 194 return instance.loggerRegistry[parentCategory]; 195 } 196 // Do we need to create it, lazy loading? 197 if( getConfig().categoryExists(arguments.category) ){ 198 return getLogger(arguments.category); 199 } 200 // Else, it was not located, recurse 201 return locateCategoryParentLogger(parentCategory); 202 </cfscript> 203 </cffunction> 176 204 177 205 <!--- registerAppender ---> -
coldbox/trunk/testharness/handlers/ehGeneral.cfc
r2345 r2399 40 40 <cfproperty name="loaderService" type="coldbox:loaderService" scope="instance"> 41 41 <cfproperty name="cacheManager" type="coldbox:cacheManager" scope="instance"> 42 <cfproperty name="TimeSlotService" type="model" scope="variables"> 42 43 43 44 <!--- properties ---> … … 45 46 this.allowedMethods = {doFormBean="POST,GET"}; 46 47 </cfscript> 48 49 <!--- onDIComplete ---> 50 <cffunction name="onDIComplete" output="false" access="public" returntype="any" hint=""> 51 <cfdump var="#variables.TimeSlotService#"><cfabort> 52 </cffunction> 47 53 48 54 <cffunction name="init" access="public" returntype="any" output="false"> -
coldbox/trunk/testing/cases/logging/LogBoxTest.cfc
r2366 r2399 10 10 //root 11 11 config.root(appenders="luis,luis2"); 12 12 //Sample categories 13 config.debug("coldbox.system.interceptors"); 14 config.off("coldbox.system"); 15 //init logBox 13 16 logBox.init(config); 14 17 } … … 17 20 logger = logBox.getLogger('MyCat'); 18 21 logger.debug("My Test"); 22 23 //2: category inheritance 24 logger = logBox.getLogger("coldbox.system.interceptors.SES"); 25 assertEquals( logger.getLevelMin(), logger.logLevels.DEBUG); 26 assertEquals( logger.getRootLogger().getCategory(), "coldbox.system.interceptors"); 27 28 //3: category inheritance 29 logger = logBox.getLogger("coldbox.system.plugins"); 30 assertEquals( logger.getLevelMin(), logger.logLevels.OFF); 31 assertEquals( logger.getRootLogger().getCategory(), "coldbox.system"); 19 32 } 20 33 34 function testgetRootLogger(){ 35 logger = logBox.getRootLogger(); 36 logger.info("Test"); 37 } 38 39 function testGetCurrentLoggers(){ 40 debug( logBox.getCurrentLoggers() ); 41 } 42 function testGetCurrentAppenders(){ 43 debug( logBox.getCurrentAppenders() ); 44 } 45 46 function testLocateCategoryParentLogger(){ 47 makePublic(logbox,"locateCategoryParentLogger"); 48 // 1: root logger 49 assertEquals( logBox.getRootLogger(), logBox.locateCategoryParentLogger("invalid") ); 50 51 // 2: Expecting a logger with debug levels only 52 logger = logBox.locateCategoryParentLogger("coldbox.system.interceptors.SES"); 53 assertEquals( logger.getLevelMin(), logger.logLevels.DEBUG); 54 55 // 3: Expecting an OFF logger 56 logger = logBox.locateCategoryParentLogger("coldbox.system.plugins"); 57 assertEquals( logger.getLevelMin(), logger.logLevels.OFF); 58 } 21 59 </cfscript> 22 60 </cfcomponent>
