繁体   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