
from pathlib import Path

import logging
from logging.config import fileConfig


class Logger:

    loggers = {}

    @staticmethod
    def get_logger(name: str = '') -> logging.Logger:
        if name not in Logger.loggers.keys():
            config_path = Path(__file__).parent / 'logging.ini'
            fileConfig(config_path)
            Logger.loggers[name] = logging.getLogger(name)
        return Logger.loggers.get(name)

    @staticmethod
    def set_level(level: int):
        for name, logger in Logger.loggers.items():
            logger.setLevel(level)


def get_logger(name: str = '') -> logging.Logger:
    return Logger.get_logger(name)


def set_level(level: int):
    Logger.set_level(level)


from pathlib import Path

import logging
from logging.config import fileConfig


class Logger:

    loggers = {}

    @staticmethod
    def get_logger(name: str = '') -> logging.Logger:
        if name not in Logger.loggers.keys():
            config_path = Path(__file__).parent / 'logging.ini'
            config_path = str(config_path)  # for Python 3.5
            fileConfig(config_path)
            Logger.loggers[name] = logging.getLogger(name)
        return Logger.loggers.get(name)

    @staticmethod
    def set_level(level: int):
        for name, logger in Logger.loggers.items():
            logger.setLevel(level)


def get_logger(name: str = '') -> logging.Logger:
    return Logger.get_logger(name)


def set_level(level: int):
    Logger.set_level(level)

Fix and cast path to `str`
feature/oop-api-refactoring: Fix and cast path to `str`

  
  from pathlib import Path
  
  import logging
  from logging.config import fileConfig
  
  
  class Logger:
  
      loggers = {}
  
      @staticmethod
      def get_logger(name: str = '') -> logging.Logger:
          if name not in Logger.loggers.keys():
              config_path = Path(__file__).parent / 'logging.ini'
+             config_path = str(config_path)  # for Python 3.5
              fileConfig(config_path)
              Logger.loggers[name] = logging.getLogger(name)
          return Logger.loggers.get(name)
  
      @staticmethod
      def set_level(level: int):
          for name, logger in Logger.loggers.items():
              logger.setLevel(level)
  
  
  def get_logger(name: str = '') -> logging.Logger:
      return Logger.get_logger(name)
  
  
  def set_level(level: int):
      Logger.set_level(level)
  
Fix and cast path to `str`
## Code Before:

from pathlib import Path

import logging
from logging.config import fileConfig


class Logger:

    loggers = {}

    @staticmethod
    def get_logger(name: str = '') -> logging.Logger:
        if name not in Logger.loggers.keys():
            config_path = Path(__file__).parent / 'logging.ini'
            fileConfig(config_path)
            Logger.loggers[name] = logging.getLogger(name)
        return Logger.loggers.get(name)

    @staticmethod
    def set_level(level: int):
        for name, logger in Logger.loggers.items():
            logger.setLevel(level)


def get_logger(name: str = '') -> logging.Logger:
    return Logger.get_logger(name)


def set_level(level: int):
    Logger.set_level(level)

## Instruction:
Fix and cast path to `str`
## Code After:

from pathlib import Path

import logging
from logging.config import fileConfig


class Logger:

    loggers = {}

    @staticmethod
    def get_logger(name: str = '') -> logging.Logger:
        if name not in Logger.loggers.keys():
            config_path = Path(__file__).parent / 'logging.ini'
            config_path = str(config_path)  # for Python 3.5
            fileConfig(config_path)
            Logger.loggers[name] = logging.getLogger(name)
        return Logger.loggers.get(name)

    @staticmethod
    def set_level(level: int):
        for name, logger in Logger.loggers.items():
            logger.setLevel(level)


def get_logger(name: str = '') -> logging.Logger:
    return Logger.get_logger(name)


def set_level(level: int):
    Logger.set_level(level)
