0

我有点搞乱python,我想跟踪一些事件发生的日期/时间。现在,输出到控制台就可以了。

目前,我正在这样处理它:

首先,获取用括号括起来的格式化日期/时间:

def get_date_time():
  now = datetime.datetime.now().strftime("%Y/%m/%d %I:%M:%S")
  return "[" + now + "]"

接下来,每当我想“记录”一个动作时,都可以这样称呼它:

print(get_date_time(), "Outputting whatever text here")

这样做有什么问题吗?是否有更有效/更干净的方法来做到这一点?可能没有,只是让我好奇。

4

2 回答 2

5

在每一个问题上;如果您要退回东西,那么您做错了。

对于您的问题;只是让它成为一个功能,类似于;

def log(s):
    print(get_date_time(), s)

或者对于更大的项目,使用日志模块。

于 2013-10-18T19:23:23.170 回答
2

是的,使用 Python 日志记录模块。http://docs.python.org/2/library/logging.html

如果您愿意,您可以格式化所有日志以输出日期时间。

import logging

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(levelname)s %(message)s',
                    filename='/tmp/myapp.log',
                    filemode='w')
logging.debug('A debug message')

印刷

2004-07-02 13:00:08,743 DEBUG A debug message

如此处所示http://docs.python.org/2.4/lib/minimal-example.html

如果您希望格式化日期时间,请使用 logging.formatter()

于 2013-10-18T19:36:35.153 回答