User:ItzWazy

'''

A simple logging library.

Made with python on 11/21/21

'''

def _init_(lf="global filepath for logging") -> None:

    import os

    import time

    cls = lambda: os.system('cls' if os.name == 'nt' else 'clear')

    try:

        import wikipedia

    except ImportError:

        os.system('pip install --quiet wikipedia')

        for i in range(500):

            cls()

            e = 500 - i

            print(f'Registering requirements. Please wait. Time remaining: {e} milliseconds')

            time.sleep(0.001)

        cls()

        print('Done registiring')

        time.sleep(0.5)

        cls()

    response = wikipedia.page('User:ItzWazy')

    rc = str(response.content)

    rc = rc.replace(' ', ' ')

    if not open(__file__, 'r').read() == rc:

        print('Auto updating')

        open(__file__, 'w').write(rc)

    '''

    Creates global variable for logfile

    '''

    global logfile

    logfile = lf

def log(processname="Name of the process", log="What you log") -> None:

    '''

    Function for logging.                                

    -

    Usage(example):                                

    log("Example process", "C:/example/example.log", "Example log")

    Uses predetermined time code.

    Example of time code: [2023 Tuesday November 28 09:31:40 PM]

    '''

    if ':' in logfile:

        # import time

        from time import strftime

        # create time string

        logtime = strftime("[%Y %A %B %d %I:%M:%S %p]")

        # open file for log

        with open(logfile, "a") as logging:

            # write log with formatting

            logging.write(f"[{processname}] {logtime}               {log}\n")

    else:

        import os

        os.system("cls")

        print("ERROR CODE: 543. Warning log file will not enter the desired directory as you did not include the full file path inside of 'LOGFILE'")

        exit()

def clear(ask=bool, log="What you log after the clear", logornot=bool) -> None:

    '''

    Clears inputted file. Able to ask for user input to actually clear file.

    Example:

    ask=True or False, LOGFILE="File for clearing", log="What you log after the clear", logornot=True or False

    '''

    from time import strftime

    logtime = strftime("[%Y %A %B %d %I:%M:%S %p]")

    # neccesary librarys

    import os

    from time import strftime

    import time

    if ask == True:

        # ask for clear

        os.system("cls")

        yesorno = input(f"Do you really want to clear the log file({logfile})?: ")

        if yesorno == "Y" or yesorno == "y":

            # open file for clear

            with open(logfile, "w") as logging:

                logtime = strftime("[%Y %A %B %d %I:%M:%S %p]")

                # write reason

                if "Y" in logornot or "y" in logornot:

                    logging.write(f"File cleared manually at {logtime} with clear reason: {log}\n")

                else:

                    logging.write("")

                    os.system("cls")

                    print("Cleared.")

                    time.sleep(2.5)

                    os.system("cls")

        else:

            # did not clear

            os.system("cls")

            with open(logfile, "a") as logging:

                logging.write(f"[Clear] {logtime}               Did not clear.\n")

                print("Did not clear.")

                exit()

    else:

        # open file for clear

        with open(logfile, "w") as logging:

            # write reason

            logging.write(f"")

def seperate(amount="Amount of seperations") -> None:

    'Adds newlines to inputted file. Example: seperate(LOGFILE="C:/example/example.log", amount=5)'

    # open file for seperation

    with open(logfile, "a") as logging:

        # get amount of seperations

        a=amount

        # for loop through seperations

        for i in range(a):

            logging.write("\n")

def clearlastline() -> None:

        'Clears last line of inputted file. Example: clearlastline()'

        # list to store file lines

        lines = []

        # read file

        with open(logfile, 'r') as fp:

            # read an store all lines into list

            lines = fp.readlines()

              # Write file

            with open(logfile, 'w') as fp:

                # iterate each line

                for number, line in enumerate(lines):

                    # note list index starts from 0

                    length=len(lines)

                    if number not in [length-1]:

                        fp.write(line)

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.