def logging(self, path): """ The logging settings. We have global 'logger' here to be able to log every operation in this program. """ global logger logger = logging.getLogger( self.name) # will take input value to have a name column in logs logger.setLevel(logging.DEBUG) fh = TimedRotatingFileHandler(path, when='m', interval=1, backupCount=5) fh.prefix = '%Y%m%d' # can't google anything connecting with prefix, only suffix # that's why I'm afraid it's some pythonic magic, but I liked prefix # more than suffix :) fh.setLevel(logging.DEBUG ) # we can set the level of logging that goes to the file ch = logging.StreamHandler() ch.setLevel(logging.INFO) formatterFH = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s') formatterCH = logging.Formatter( '%(name)s - %(levelname)s - %(message)s') # to differentiate ch.setFormatter(formatterCH) fh.setFormatter(formatterFH) logger.addHandler(ch) logger.addHandler(fh)
def main(): bot = commands.Bot(command_prefix=os.getenv("COMMAND_SYMBOL"), help_command=None) logger.setLevel(logging.INFO) output_file_handler = TimedRotatingFileHandler(f'datalog.log', when="midnight", interval=1) output_file_handler.prefix = "%Y%m%d" stdout_handler = logging.StreamHandler(sys.stdout) logger.addHandler(stdout_handler) logger.addHandler(output_file_handler) bot.add_cog(Admin(bot)) bot.add_cog(Anime(bot)) bot.add_cog(Debug(bot)) bot.add_cog(DefaultListeners(bot)) bot.add_cog(Gambling(bot)) bot.add_cog(Helper(bot)) bot.run(os.getenv('DISCORD_TOKEN'))
def setup_custom_logger(name, log_level=settings.LOG_LEVEL): console_handler = logging.StreamHandler() handlers = [console_handler] if settings.USE_LOG_FILE: file_name = "quant_bitmex_bot.log" file_handler = TimedRotatingFileHandler(file_name, when="midnight", interval=1) file_handler.prefix = "%Y%m%d" handlers.append(file_handler) logging.basicConfig( format="%(asctime)s - %(levelname)s - %(module)s - %(message)s", handlers=handlers) logger = logging.getLogger(name) logger.setLevel(log_level) return logger
except: print("Directory " , HISTORIC_PATH , " already exists") env='production' if(len(sys.argv)>1 and sys.argv[1]=='test'): env='testing' elif(len(sys.argv)>1 and sys.argv[1]=='staging'): env='staging' logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) # create a file handler logname=LOGS_PATH+'/thermostat.log' handler = TimedRotatingFileHandler(logname, when="midnight", interval=1) handler.prefix = "%Y%m%d" # handler = logging.FileHandler('logs/thermostat.log') if(env=='testing'): handler.setLevel(logging.INFO) elif(env=='staging'): handler.setLevel(logging.WARNING) elif(env=='production'): handler.setLevel(logging.WARNING) # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) # add the file handler to the logger logger.addHandler(handler)
'서울', 'ver': '1.3', '_returnType': 'json' } logger = logging.getLogger(__name__) formatter = logging.Formatter(u'%(asctime)s|[%(levelname)8s]|%(message)s') logger.setLevel(logging.DEBUG) fileHandler = TimedRotatingFileHandler(filename='./scheduler.log', when='h', interval=1, encoding='utf-8') fileHandler.setFormatter(formatter) fileHandler.prefix = '%Y%m%d' fileHandler.setLevel(logging.DEBUG) logger.addHandler(fileHandler) sched = BackgroundScheduler() @sched.scheduled_job('cron', hour='1', id='job_1') def job_1(): res = requests.get( url= "http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getCtprvnRltmMesureDnsty", params=parms) for i in res.json()['list']: # print("\n", i)
import logging import logging.config from logging.handlers import TimedRotatingFileHandler import conf DEBUG_MODE = conf.DEBUG_MODE PATH = conf.LOGS FAST_LOOP = conf.FAST_LOOP FORMATTER = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' file_logger = logging.getLogger('Report') if FAST_LOOP: #Minute logger minute_handler = TimedRotatingFileHandler(f'{PATH}/Report.log', when="m", interval=1) minute_handler.setLevel(logging.INFO) minute_handler.prefix = "%H%M" f_format = logging.Formatter(FORMATTER) minute_handler.setFormatter(f_format) file_logger.addHandler(minute_handler) #6 minutes logger montly_handler = TimedRotatingFileHandler(f'{PATH}/Montly_report.log', when="m", interval=6) montly_handler.setLevel(logging.INFO) montly_handler.prefix = "%Y%m" f_format = logging.Formatter(FORMATTER) montly_handler.setFormatter(f_format) file_logger.addHandler(montly_handler) else: #Daily logger daily_handler = TimedRotatingFileHandler(f'{PATH}/Report.log', when="midnight", interval=1) daily_handler.setLevel(logging.INFO)