pylorax: set up logging as recommended by logging module
Generally it's not a good idea for python libraries to set up loggers in the body of the library. Set up a NullHandler by default (as the logging module suggests), and add a function to do the current logging setup during run().
This commit is contained in:
		
							parent
							
								
									00272dec94
								
							
						
					
					
						commit
						329432b58e
					
				| @ -23,12 +23,7 @@ | |||||||
| # set up logging | # set up logging | ||||||
| import logging | import logging | ||||||
| logger = logging.getLogger("pylorax") | logger = logging.getLogger("pylorax") | ||||||
| logger.setLevel(logging.DEBUG) | logger.addHandler(logging.NullHandler()) | ||||||
| 
 |  | ||||||
| sh = logging.StreamHandler() |  | ||||||
| sh.setLevel(logging.INFO) |  | ||||||
| logger.addHandler(sh) |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| import sys | import sys | ||||||
| import os | import os | ||||||
| @ -125,6 +120,11 @@ class Lorax(BaseLoraxClass): | |||||||
| 
 | 
 | ||||||
|         self._configured = True |         self._configured = True | ||||||
| 
 | 
 | ||||||
|  |     def init_stream_logging(self): | ||||||
|  |         sh = logging.StreamHandler() | ||||||
|  |         sh.setLevel(logging.INFO) | ||||||
|  |         logger.addHandler(sh) | ||||||
|  | 
 | ||||||
|     def init_file_logging(self, logdir, logname="pylorax.log"): |     def init_file_logging(self, logdir, logname="pylorax.log"): | ||||||
|         fh = logging.FileHandler(filename=joinpaths(logdir, logname), mode="w") |         fh = logging.FileHandler(filename=joinpaths(logdir, logname), mode="w") | ||||||
|         fh.setLevel(logging.DEBUG) |         fh.setLevel(logging.DEBUG) | ||||||
| @ -153,6 +153,7 @@ class Lorax(BaseLoraxClass): | |||||||
|         if not os.path.isdir(logdir): |         if not os.path.isdir(logdir): | ||||||
|             os.makedirs(logdir) |             os.makedirs(logdir) | ||||||
| 
 | 
 | ||||||
|  |         self.init_stream_logging() | ||||||
|         self.init_file_logging(logdir) |         self.init_file_logging(logdir) | ||||||
|         logger.debug("using work directory {0.workdir}".format(self)) |         logger.debug("using work directory {0.workdir}".format(self)) | ||||||
|         logger.debug("using log directory {0}".format(logdir)) |         logger.debug("using log directory {0}".format(logdir)) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user