import sys

class PrintLogger:
    def __init__(self, filename, mode='a'):
        self.terminal = sys.__stdout__  # original stdout
        self.log = open(filename, mode)

    def write(self, message):
        self.terminal.write(message)
        self.log.write(message)

    def flush(self):
        # Support flush for compatibility with some environments
        self.terminal.flush()
        self.log.flush()