簡體   English   中英

正確記錄和打印到控制台的方法

[英]Proper way of logging and printing to console

# --------------------------------------
# Start of logging of removed folders
# ----------------------------------------
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
                    datefmt='%m-%d %H:%M',
                    filename='RemovedCRMFolders.log',
                    filemode='w')


# -------------------------------------------
# Checks to see if listed folders exists and then deletes
# -------------------------------------------


def remove_directory(pathslist):
    for path in pathslist:
        if os.path.exists(path) and os.path.isdir(path):
            shutil.rmtree(path)
            logging.warning('Found ' + path + ' removing')
            print(colored('Found ' + path + ' removing', 'green'))
        else:
            print('Looking for ' + path + ' not found..')

dirs_to_delete = [
    'C:\Folder1',
    'C:\Folder2'
    ]

如果同時使用logging.warning和print,是否會在找到文件夾的情況下仍在控制台/窗口中顯示輸出? 現在,如果您編寫的代碼沒有打印並且僅進行日志記錄。警告它將不再打印到控制台,說明它看到了該文件夾並且只會寫入日志文件,我希望將其顯示在控制台中並仍然打印到日志中有沒有更簡單的方法可以在logging命令中執行此操作,或者這是最佳方法嗎?

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
                    datefmt='%m-%d %H:%M',
                    filename='RemovedCRMFolders.log',
                    filemode='w')

在這里,您已指定日志以轉至RemovedCRMFolders.log 您的日志已寫入該文件中。 您將不會在控制台中看到輸出。 要在控制台中查看輸出,請在配置記錄器時刪除文件名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM