用Python的logging库实现的日志系统 这里仅是一个简单的小例子,将log打印在终端上和文件中,每天的日志存在不同的文件中,文件末尾带上时间,如test.log.2015-11-04 分割时间是由自己设置的,我设置为midnight(这个是由TimedRotatingFileHandler完成的,更多类型的handler,请移步Python的官方doc, logging.handlers) 也可以将文件打印到另外的机器上,按文件大小存储,文件到了一定大小,自动换一个文件 如果将每天不同类型(error,debug,info…)的log拆分开就更好了 打印的格式是%(asctime)s - %(levelname)s - %(message)s, 时间 - 级别 - 信息, 如: 2015-11-04 17:43:35,773 - INFO - hello logging

# -- logging.conf --
[loggers]
keys=root

[handlers]
keys=consoleHandler, fileHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler, fileHandler
qualname=fileLogger

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[handler_fileHandler]
class=logging.handlers.TimedRotatingFileHandler
level=DEBUG
formatter=simpleFormatter
args=('test.log', 'midnight',)

[formatter_simpleFormatter]
format=%(asctime)s - %(levelname)s - %(message)s
datefmt=

使用

import logging
import logging.config

logging.config.fileConfig('logging.conf')
logger = logging.getLogger('root')

logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
#=> 这里的log会打印在终端上和文件中