【问题标题】:Proper way of logging and printing to console记录和打印到控制台的正确方法
【发布时间】:2019-07-08 22:46:23
【问题描述】:
# --------------------------------------
# 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.warning 它将不再打印到控制台,说明它看到了该文件夹并且只会写入日志文件,我希望它在控制台中显示并仍然打印到日志是在日志记录命令中有更简单的方法,还是最好的方法?

【问题讨论】:

标签: python python-3.x


【解决方案1】:
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 的日志。您的日志正在写入该文件中。你不会在控制台中看到你的输出。要在控制台中查看输出,您需要在配置记录器时删除文件名。

【讨论】:

    猜你喜欢
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2012-08-17
    • 1970-01-01
    • 2015-08-03
    • 2017-12-18
    相关资源
    最近更新 更多