KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm using Logging ( import logging ) to log messages. Within 1 single module, I am logging messages at the debug level my_logger.debug('msg') ; Some of these debug messages come from function_a() and others from function_b() ; I'd like to be able to enable/disable logging based on whether they come from a or from b; I'm guessing that I have to use Logging's filtering mechanism. Can someone show me how the code below would need to be instrumented to do what I want? import logging logger = logging.getLogger( "module_name" ) def function_a( ... ): logger.debug( "a message" ) def function_b( ... ): logger.debug( "another message" ) if __name__ == "__main__": logging.basicConfig( stream=sys.stderr, level=logging.DEBUG ) #don't want function_a()'s noise -> .... #somehow filter-out function_a's logging function_a() #don't want function_b()'s noise -> .... #somehow filter-out function_b's logging function_b() If I scaled this simple example to more modules and more funcs per module, I'd be concerned about lots of loggers; Can I keep it down to 1 logger per module? Note that the log messages are "structured", i.e. if the function(s) logging it are doing some parsing work, they all contain a prefix logger.debug("parsing: xxx") - can I somehow with a single line just shut-off all "parsing" messages (regardless of the module/function emitting the message?)
Tags (comma-separated)
Save Edits
Cancel