Python日志在一个pycharm上工作而不在另一个pycharm上

时间:2016-09-28 10:48:12

标签: python logging pycharm

我已经创建了这个python脚本来帮助我在运行脚本时创建日志文件,它在我自己的机器上运行良好。但由于某种原因,确切的代码不适用于其他机器。 在我的机器中,它显示pycharm控制台中的日志,并将它们保存在文件中。在其他机器中,除了创建空白文件外,它不会做任何事情。

我做错了什么?

log = logging.getLogger('Logger Name')
try:
    logger_file_name = new_file_name()
    handler = logging.FileHandler(logger_file_name)
    formatter = logging.Formatter('%(asctime)s | %(levelname)s | %(message)s')
    handler.setFormatter(formatter)
    log.addHandler(handler)
    log.info(logger_file_name+ '  File will be used for Saving Logs')
    main()
except Exception as err:
    log.debug("An Error was found which was not caught")
    log.exception(err)

1 个答案:

答案 0 :(得分:0)

尝试显式设置日志记录级别,例如:

InputStreamReader r=new InputStreamReader(System.in);  
BufferedReader br=new BufferedReader(r);  
String str=br.readLine(); 

否则,您依赖于可能安装在不同计算机上的不同python版本上可能不同的默认值。例如,在2.7.12上,默认级别设置为log.setLevel(logging.DEBUG) WARNING消息不会显示 - 就像您观察到的那样。

来自2.7.12记录文档的A simple example section

log.info()
     

如果您在脚本中键入这些行并运行它,您将看到:

import logging
logging.warning('Watch out!')  # will print a message to the console
logging.info('I told you so')  # will not print anything
     

在控制台上打印出来。 WARNING:root:Watch out! 消息未显示,因为   默认级别为INFO ...