在tensorflow项目中,如果使用logging库输出日志时,会出现打印不出日志的情况,原有代码如下:
import logging
import tensorflow as tf
def main():
logging.basicConfig(level=logging.INFO,
filename='',
datefmt='%Y/%m/%d %H:%M:%S',
format='%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(module)s - %(message)s')
logging.info("111")
print("down")
logging.info("11112")
if __name__ == "__main__":
main()
在日志output.log中输出nothing,这是因为在import tensorflow时会默认生成一个logger handler, 此时在之后设置的 logging.basicConfig函数将会失效,相当于没写,解决办法为在import tf 之前先设置好handler,修改如下:
import logging
logging.basicConfig(level=logging.INFO,
filename='',
datefmt='%Y/%m/%d %H:%M:%S',
format='%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(module)s - %(message)s')
import tensorflow as tf
def main():
logging.info("111")
print("down")
logging.info("11112")
if __name__ == "__main__":
main()
完美解决。