Merge pull request #305 from dalf/fix-engine-logger
[fix] logger per engine: make .logger is always initialized
This commit is contained in:
		
						commit
						97acedd9fe
					
				@ -110,10 +110,26 @@ def load_engine(engine_data):
 | 
				
			|||||||
    if is_missing_required_attributes(engine):
 | 
					    if is_missing_required_attributes(engine):
 | 
				
			||||||
        return None
 | 
					        return None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    engine.logger = logger.getChild(engine_name)
 | 
					    set_loggers(engine, engine_name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return engine
 | 
					    return engine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def set_loggers(engine, engine_name):
 | 
				
			||||||
 | 
					    # set the logger for engine
 | 
				
			||||||
 | 
					    engine.logger = logger.getChild(engine_name)
 | 
				
			||||||
 | 
					    # the engine may have load some other engines
 | 
				
			||||||
 | 
					    # may sure the logger is initialized
 | 
				
			||||||
 | 
					    for module_name, module in sys.modules.items():
 | 
				
			||||||
 | 
					        if (
 | 
				
			||||||
 | 
					            module_name.startswith("searx.engines")
 | 
				
			||||||
 | 
					            and module_name != "searx.engines.__init__"
 | 
				
			||||||
 | 
					            and not hasattr(module, "logger")
 | 
				
			||||||
 | 
					        ):
 | 
				
			||||||
 | 
					            module_engine_name = module_name.split(".")[-1]
 | 
				
			||||||
 | 
					            module.logger = logger.getChild(module_engine_name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def update_engine_attributes(engine, engine_data):
 | 
					def update_engine_attributes(engine, engine_data):
 | 
				
			||||||
    # set engine attributes from engine_data
 | 
					    # set engine attributes from engine_data
 | 
				
			||||||
    for param_name, param_value in engine_data.items():
 | 
					    for param_name, param_value in engine_data.items():
 | 
				
			||||||
 | 
				
			|||||||
@ -438,8 +438,3 @@ def get_key_label(key_name, lang):
 | 
				
			|||||||
        if labels is None:
 | 
					        if labels is None:
 | 
				
			||||||
            return None
 | 
					            return None
 | 
				
			||||||
    return get_label(labels, lang)
 | 
					    return get_label(labels, lang)
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def init(_):
 | 
					 | 
				
			||||||
    import searx.engines.wikidata  # pylint: disable=import-outside-toplevel
 | 
					 | 
				
			||||||
    searx.engines.wikidata.logger = logger
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user