def get(self): log_file = os.path.join(AppFolders.logs(), "ComicStreamer.log") logtxt = "" for line in reversed(open(log_file).readlines()): logtxt += line.rstrip() + '\n' self.render("log.html", logtxt=logtxt)
def go(self): utils.fix_output_encoding() self.apiServer = None #Configure logging # root level logger = logging.getLogger() logger.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') log_file = os.path.join(AppFolders.logs(), "ComicStreamer.log") if not os.path.exists(os.path.dirname(log_file)): os.makedirs(os.path.dirname(log_file)) fh = logging.handlers.RotatingFileHandler(log_file, maxBytes=1048576, backupCount=4, encoding="UTF8") fh.setLevel(logging.DEBUG) fh.setFormatter(formatter) logger.addHandler(fh) # By default only do info level to console sh = logging.StreamHandler(sys.stdout) sh.setLevel(logging.INFO) sh.setFormatter(formatter) logger.addHandler(sh) config = ComicStreamerConfig() opts = Options() opts.parseCmdLineArgs() # set file logging according to config file #fh.setLevel(config['general']['loglevel']) # turn up the log level, if requested if opts.debug: sh.setLevel(logging.DEBUG) elif opts.quiet: sh.setLevel(logging.CRITICAL) config.applyOptions(opts) self.apiServer = APIServer(config, opts) self.apiServer.logFileHandler = fh self.apiServer.logConsoleHandler = sh signal.signal(signal.SIGINT, self.signal_handler) bonjour = BonjourThread(self.apiServer.port) bonjour.start() if getattr(sys, 'frozen', None): # A frozen app will run a GUI self.apiServer.runInThread() logging.info("starting GUI loop") if platform.system() == "Darwin": from gui_mac import MacGui MacGui(self.apiServer).run() elif platform.system() == "Windows": from gui_win import WinGui WinGui(self.apiServer).run() self.apiServer.shutdown() else: #from gui_qt import QtBasedGui #self.apiServer.runInThread() #QtBasedGui(self.apiServer).run() #self.apiServer.shutdown() self.apiServer.run() logging.info("gui shoudld be done now")
def go(self): utils.fix_output_encoding() self.apiServer = None opts = Options() opts.parseCmdLineArgs() #Configure logging # root level logger = logging.getLogger() logger.setLevel(logging.DEBUG) formatter = logging.Formatter( '%(asctime)s - %(levelname)s - %(message)s') log_file = os.path.join(AppFolders.logs(), "ComicStreamer.log") if not os.path.exists(os.path.dirname(log_file)): os.makedirs(os.path.dirname(log_file)) fh = logging.handlers.RotatingFileHandler(log_file, maxBytes=1048576, backupCount=4, encoding="UTF8") fh.setLevel(logging.DEBUG) fh.setFormatter(formatter) logger.addHandler(fh) # By default only do info level to console sh = logging.StreamHandler(sys.stdout) sh.setLevel(logging.INFO) sh.setFormatter(formatter) logger.addHandler(sh) # set file logging according to config file #fh.setLevel(config['general']['loglevel']) # turn up the log level, if requested if opts.debug: sh.setLevel(logging.DEBUG) elif opts.quiet: sh.setLevel(logging.CRITICAL) config = ComicStreamerConfig() config.applyOptions(opts) self.apiServer = APIServer(config, opts) self.apiServer.logFileHandler = fh self.apiServer.logConsoleHandler = sh signal.signal(signal.SIGINT, self.signal_handler) if getattr(sys, 'frozen', None): # A frozen app will run a GUI self.apiServer.runInThread() logging.debug("UI: Started") if platform.system() == "Darwin": from gui_mac import MacGui MacGui(self.apiServer).run() elif platform.system() == "Windows": from gui_win import WinGui WinGui(self.apiServer).run() self.apiServer.shutdown() else: #from gui_qt import QtBasedGui #self.apiServer.runInThread() #QtBasedGui(self.apiServer).run() #self.apiServer.shutdown() self.apiServer.run() logging.info("UI: Stopped")