10

我想将一些字符串输出到日志文件中,并且希望日志文件不断更新。

我查看了日志记录模块pf python 并发现它主要是关于格式化和并发访问。

如果我遗漏了什么或其他方式,请告诉我

4

3 回答 3

16

通常我会做以下事情:

  # logging  
  LOG = "/tmp/ccd.log"                                                     
  logging.basicConfig(filename=LOG, filemode="w", level=logging.DEBUG)  

  # console handler  
  console = logging.StreamHandler()  
  console.setLevel(logging.ERROR)  
  logging.getLogger("").addHandler(console)

日志部分初始化日志的基本配置。在下文中,我设置了一个控制台处理程序,它分别打印出一些日志信息。通常我的控制台输出设置为只输出错误(logging.ERROR)和LOG文件中的详细输出。

您的日志现在将打印到文件中。例如使用:

logger = logging.getLogger(__name__)
logger.debug("hiho debug message")

甚至

logging.debug("next line")

应该管用。

Doug Hellmann 有一个很好的指南

于 2013-03-18T10:15:31.283 回答
11

在使用日志记录方面加我 10 美分。我最近才发现 Logging 模块,起初被推迟了。也许只是因为它最初看起来像很多工作,但它真的很简单而且非常方便。

这是我使用的设置。类似于 Mkinds 答案,但包含时间戳。

# Set up logging
log = "bot.log"
logging.basicConfig(filename=log,level=logging.DEBUG,format='%(asctime)s %(message)s', datefmt='%d/%m/%Y %H:%M:%S')
logging.info('Log Entry Here.')

这将产生类似的东西:

22/09/2015 14:39:34 Log Entry Here.
于 2015-09-22T12:46:48.557 回答
3

您可以使用 Logging API 记录到文件。

示例:http ://docs.python.org/2/howto/logging.html#logging-to-a-file

于 2013-03-18T10:07:15.783 回答