Moved startup log entry "up" a bit

Now that the plugin manager gets initialized before the server gets even constructed, we need
to log that entry right after we've set up logging in order to post any plugin manager related
log entries after.
This commit is contained in:
Gina Häußge 2015-10-27 14:25:41 +01:00
parent 150763fe2b
commit 81dce6161a
2 changed files with 29 additions and 19 deletions

View file

@ -6,25 +6,34 @@ import sys
import click
import logging
#~~ version
from ._version import get_versions
versions = get_versions()
__version__ = versions['version']
__branch__ = versions['branch'] if 'branch' in versions else None
__display_version__ = "{} ({} branch)".format(__version__, __branch__) if __branch__ else __version__
del versions
del get_versions
from octoprint.daemon import Daemon
from octoprint.server import Server
logging.basicConfig()
#~~ version
from ._version import get_versions
__version__ = get_versions()['version']
del get_versions
#~~ init methods to bring up platform
def init_platform(basedir, configfile, use_logging_file=True, logging_file=None,
logging_config=None, debug=False, uncaught_logger=None,
uncaught_handler=None):
uncaught_handler=None, after_settings=None, after_logging=None):
settings = init_settings(basedir, configfile)
if callable(after_settings):
after_settings(settings)
logger = init_logging(settings,
use_logging_file=use_logging_file,
logging_file=logging_file,
@ -32,6 +41,9 @@ def init_platform(basedir, configfile, use_logging_file=True, logging_file=None,
debug=debug,
uncaught_logger=uncaught_logger,
uncaught_handler=uncaught_handler)
if callable(after_logging):
after_logging(logger)
plugin_manager = init_pluginsystem(settings)
return settings, logger, plugin_manager
@ -198,11 +210,15 @@ class OctoPrintDaemon(Daemon):
def run_server(basedir, configfile, host, port, debug, allow_root, logging_config):
def log_startup(_):
logging.getLogger("octoprint.server").info("Starting OctoPrint {}".format(__display_version__))
settings, _, plugin_manager = init_platform(basedir,
configfile,
logging_file=logging_config,
debug=debug,
uncaught_logger=__name__)
uncaught_logger=__name__,
after_logging=log_startup)
octoprint = Server(settings=settings, plugin_manager=plugin_manager, host=host, port=port, debug=debug, allow_root=allow_root)
octoprint.run()

View file

@ -49,6 +49,7 @@ admin_permission = Permission(RoleNeed("admin"))
user_permission = Permission(RoleNeed("user"))
# only import the octoprint stuff down here, as it might depend on things defined above to be initialized already
from octoprint import __version__, __branch__, __display_version__
from octoprint.printer import get_connection_options
from octoprint.printer.profile import PrinterProfileManager
from octoprint.printer.standard import Printer
@ -67,11 +68,9 @@ from . import util
UI_API_KEY = ''.join('%02X' % ord(z) for z in uuid.uuid4().bytes)
versions = octoprint._version.get_versions()
VERSION = versions['version']
BRANCH = versions['branch'] if 'branch' in versions else None
DISPLAY_VERSION = "%s (%s branch)" % (VERSION, BRANCH) if BRANCH else VERSION
del versions
VERSION = __version__
BRANCH = __branch__
DISPLAY_VERSION = __display_version__
LOCALES = []
LANGUAGES = set()
@ -157,8 +156,6 @@ class Server():
self._logger = logging.getLogger(__name__)
pluginManager = self._plugin_manager
self._logger.info("Starting OctoPrint %s" % DISPLAY_VERSION)
# monkey patch a bunch of stuff
util.tornado.fix_ioloop_scheduling()
util.flask.enable_additional_translations(additional_folders=[self._settings.getBaseFolder("translations")])
@ -1000,6 +997,3 @@ class LifecycleManager(object):
if callback in self._plugin_lifecycle_callbacks[event]:
self._plugin_lifecycle_callbacks[event].remove(callback)
if __name__ == "__main__":
server = Server()
server.run()