Package coprs :: Module log
[hide private]
[frames] | no frames]

Source Code for Module coprs.log

 1  import logging 
 2  from logging import Formatter 
 3  from logging.handlers import SMTPHandler, WatchedFileHandler 
 4   
 5  from coprs import app 
 6   
 7  mail_error_formatter = Formatter(""" 
 8  Message type:       %(levelname)s 
 9  Location:           %(pathname)s:%(lineno)d 
10  Module:             %(module)s 
11  Function:           %(funcName)s 
12  Time:               %(asctime)s 
13   
14  Message: 
15   
16  %(message)s 
17  """) 
18   
19   
20  default_formatter = Formatter( 
21      "%(asctime)s [%(levelname)s]" 
22      "[%(pathname)s:%(lineno)d|%(module)s:%(funcName)s] %(message)s" 
23  ) 
24   
25   
26 -def setup_log():
27 if not app.debug: 28 # Send critical message by email 29 mail_handler = SMTPHandler( 30 "127.0.0.1", 31 "copr-fe-error@{0}".format( 32 app.config["SERVER_NAME"] or "fedorahosted.org"), 33 app.config.get("SEND_LOGS_TO"), 34 "Yay, error in copr frontend occured!") 35 36 mail_handler.setFormatter(mail_error_formatter) 37 mail_handler.setLevel(logging.CRITICAL) 38 app.logger.addHandler(mail_handler) 39 40 # store all logs to the file log 41 log_filename = app.config.get("LOG_FILENAME") 42 handler = WatchedFileHandler(log_filename) 43 handler.setFormatter(default_formatter) 44 log_level = app.config.get("LOGGING_LEVEL", logging.INFO) 45 handler.setLevel(log_level) 46 app.logger.addHandler(handler) 47 48 app.logger.info("logging configuration finished, config: {}".format(app.config))
49