def ColorfullyWrite(log: str, consoleColor: int = -1, writeToFile: bool = True, printToStdout: bool = True, logFile: str = None) -> None:
        """
        log: str.
        consoleColor: int, a value in class `ConsoleColor`, such as `ConsoleColor.DarkGreen`.
        writeToFile: bool.
        printToStdout: bool.
        logFile: str, log file path.
        ColorfullyWrite('Hello <Color=Green>Green</Color> !!!'), color name must be in Logger.ColorNames.
        """
        text = []
        start = 0
        while True:
            index1 = log.find('<Color=', start)
            if index1 >= 0:
                if index1 > start:
                    text.append((log[start:index1], consoleColor))
                index2 = log.find('>', index1)
                colorName = log[index1+7:index2]
                index3 = log.find('</Color>', index2 + 1)
                text.append((log[index2 + 1:index3], Logger.ColorNames[colorName]))
                start = index3 + 8
            else:
                if start < len(log):
                    text.append((log[start:], consoleColor))
                break
        for t, c in text:
            Logger.Write(t, c, writeToFile, printToStdout, logFile)
def ColorfullyWrite(log: str, consoleColor: int = -1, writeToFile: bool = True, printToStdout: bool = True, logFile: str = None) -> None:
        """
        log: str.
        consoleColor: int, a value in class `ConsoleColor`, such as `ConsoleColor.DarkGreen`.
        writeToFile: bool.
        printToStdout: bool.
        logFile: str, log file path.
        ColorfullyWrite('Hello <Color=Green>Green</Color> !!!'), color name must be in Logger.ColorNames.
        """
        text = []
        start = 0
        while True:
            index1 = log.find('<Color=', start)
            if index1 >= 0:
                if index1 > start:
                    text.append((log[start:index1], consoleColor))
                index2 = log.find('>', index1)
                colorName = log[index1+7:index2]
                index3 = log.find('</Color>', index2 + 1)
                text.append((log[index2 + 1:index3], Logger.ColorNames[colorName]))
                start = index3 + 8
            else:
                if start < len(log):
                    text.append((log[start:], consoleColor))
                break
        for t, c in text:
            Logger.Write(t, c, writeToFile, printToStdout, logFile)
def ColorfullyWrite ( log : str , consoleColor : int = - 1 , writeToFile : bool = True , printToStdout : bool = True , logFile : str = None ) -> None : text = [ ] start = 0 while True : index1 = log . find ( '<Color=' , start ) if index1 >= 0 : if index1 > start : text . append ( ( log [ start : index1 ] , consoleColor ) ) index2 = log . find ( '>' , index1 ) colorName = log [ index1 + 7 : index2 ] index3 = log . find ( '</Color>' , index2 + 1 ) text . append ( ( log [ index2 + 1 : index3 ] , Logger . ColorNames [ colorName ] ) ) start = index3 + 8 else : if start < len ( log ) : text . append ( ( log [ start : ] , consoleColor ) ) break for t , c in text : Logger . Write ( t , c , writeToFile , printToStdout , logFile )
log: str.
        consoleColor: int, a value in class `ConsoleColor`, such as `ConsoleColor.DarkGreen`.
        writeToFile: bool.
        printToStdout: bool.
        logFile: str, log file path.
        ColorfullyWrite('Hello <Color=Green>Green</Color> !!!'), color name must be in Logger.ColorNames.
log : str . consoleColor : int a value in class ConsoleColor such as ConsoleColor . DarkGreen . writeToFile : bool . printToStdout : bool . logFile : str log file path . ColorfullyWrite ( Hello <Color = Green > Green< / Color > !!! ) color name must be in Logger . ColorNames .