import logging
import sublime

PACKAGE_NAME = __package__.split(".", 1)[0]

logging.basicConfig(
    level=logging.ERROR,
    format="%(name)s [%(levelname)s]: %(message)s"
)
logger = logging.getLogger(PACKAGE_NAME)


def load_logger():
    """
    Subscribe to Markdown changes in to get log level from user settings.

    Must be called in plugin_loaded().
    """
    settings = sublime.load_settings("Markdown.sublime-settings")
    settings.clear_on_change(__name__)
    settings.add_on_change(__name__, on_preferences_changed)
    on_preferences_changed()


def unload_logger():
    """
    Unsubscribe to Markdown changes.

    Must be called in plugin_unloaded().
    """
    settings = sublime.load_settings("Markdown.sublime-settings")
    settings.clear_on_change(__name__)


def on_preferences_changed():
    """
    Update log level according to user settings
    """
    settings = sublime.load_settings("Markdown.sublime-settings")

    try:
        logger.setLevel(settings.get("mde.logging.level", "ERROR"))
    except (TypeError, ValueError):
        logger.setLevel(logging.ERROR)

import logging
import sublime

PACKAGE_NAME = __package__.split(".", 1)[0]

logging.basicConfig(
    level=logging.ERROR,
    format="%(name)s [%(levelname)s]: %(message)s"
)
logger = logging.getLogger(PACKAGE_NAME)


def load_logger():
    """
    Subscribe to Preferences changes in to get log level from user settings.

    Must be called in plugin_loaded().
    """
    settings = sublime.load_settings("Preferences.sublime-settings")
    settings.clear_on_change(__name__)
    settings.add_on_change(__name__, on_preferences_changed)
    on_preferences_changed()


def unload_logger():
    """
    Unsubscribe to Preferences changes.

    Must be called in plugin_unloaded().
    """
    settings = sublime.load_settings("Preferences.sublime-settings")
    settings.clear_on_change(__name__)


def on_preferences_changed():
    """
    Update log level according to user settings
    """
    settings = sublime.load_settings("Preferences.sublime-settings")

    try:
        logger.setLevel(settings.get("mde.logging.level", "ERROR"))
    except (TypeError, ValueError):
        logger.setLevel(logging.ERROR)

Read logger config from Preferences
Plugins: Read logger config from Preferences

required due to 9b30d85d1b60fef4f4d7c35868dd406f0c5d94f3

  import logging
  import sublime
  
  PACKAGE_NAME = __package__.split(".", 1)[0]
  
  logging.basicConfig(
      level=logging.ERROR,
      format="%(name)s [%(levelname)s]: %(message)s"
  )
  logger = logging.getLogger(PACKAGE_NAME)
  
  
  def load_logger():
      """
-     Subscribe to Markdown changes in to get log level from user settings.
+     Subscribe to Preferences changes in to get log level from user settings.
  
      Must be called in plugin_loaded().
      """
-     settings = sublime.load_settings("Markdown.sublime-settings")
+     settings = sublime.load_settings("Preferences.sublime-settings")
      settings.clear_on_change(__name__)
      settings.add_on_change(__name__, on_preferences_changed)
      on_preferences_changed()
  
  
  def unload_logger():
      """
-     Unsubscribe to Markdown changes.
+     Unsubscribe to Preferences changes.
  
      Must be called in plugin_unloaded().
      """
-     settings = sublime.load_settings("Markdown.sublime-settings")
+     settings = sublime.load_settings("Preferences.sublime-settings")
      settings.clear_on_change(__name__)
  
  
  def on_preferences_changed():
      """
      Update log level according to user settings
      """
-     settings = sublime.load_settings("Markdown.sublime-settings")
+     settings = sublime.load_settings("Preferences.sublime-settings")
  
      try:
          logger.setLevel(settings.get("mde.logging.level", "ERROR"))
      except (TypeError, ValueError):
          logger.setLevel(logging.ERROR)
  
Read logger config from Preferences
## Code Before:
import logging
import sublime

PACKAGE_NAME = __package__.split(".", 1)[0]

logging.basicConfig(
    level=logging.ERROR,
    format="%(name)s [%(levelname)s]: %(message)s"
)
logger = logging.getLogger(PACKAGE_NAME)


def load_logger():
    """
    Subscribe to Markdown changes in to get log level from user settings.

    Must be called in plugin_loaded().
    """
    settings = sublime.load_settings("Markdown.sublime-settings")
    settings.clear_on_change(__name__)
    settings.add_on_change(__name__, on_preferences_changed)
    on_preferences_changed()


def unload_logger():
    """
    Unsubscribe to Markdown changes.

    Must be called in plugin_unloaded().
    """
    settings = sublime.load_settings("Markdown.sublime-settings")
    settings.clear_on_change(__name__)


def on_preferences_changed():
    """
    Update log level according to user settings
    """
    settings = sublime.load_settings("Markdown.sublime-settings")

    try:
        logger.setLevel(settings.get("mde.logging.level", "ERROR"))
    except (TypeError, ValueError):
        logger.setLevel(logging.ERROR)

## Instruction:
Read logger config from Preferences
## Code After:
import logging
import sublime

PACKAGE_NAME = __package__.split(".", 1)[0]

logging.basicConfig(
    level=logging.ERROR,
    format="%(name)s [%(levelname)s]: %(message)s"
)
logger = logging.getLogger(PACKAGE_NAME)


def load_logger():
    """
    Subscribe to Preferences changes in to get log level from user settings.

    Must be called in plugin_loaded().
    """
    settings = sublime.load_settings("Preferences.sublime-settings")
    settings.clear_on_change(__name__)
    settings.add_on_change(__name__, on_preferences_changed)
    on_preferences_changed()


def unload_logger():
    """
    Unsubscribe to Preferences changes.

    Must be called in plugin_unloaded().
    """
    settings = sublime.load_settings("Preferences.sublime-settings")
    settings.clear_on_change(__name__)


def on_preferences_changed():
    """
    Update log level according to user settings
    """
    settings = sublime.load_settings("Preferences.sublime-settings")

    try:
        logger.setLevel(settings.get("mde.logging.level", "ERROR"))
    except (TypeError, ValueError):
        logger.setLevel(logging.ERROR)
