Python日志打印
原创
©著作权归作者所有:来自51CTO博客作者程序员kunpengku的原创作品,请联系作者获取转载授权,否则将追究法律责任
简单示例
import sys
import ctypes
import logging
import logging.handlers
reload(sys)
sys.setdefaultencoding('utf-8')
LOG_FILE = 'test_log'
logging.basicConfig(
filename = LOG_FILE,
format = '%(asctime)s - %(levelname)s -%(process)d- %(filename)s:%(funcName)s:%(lineno)d - %(message)s',
level = logging.DEBUG)
logging.handlers.TimedRotatingFileHandler(LOG_FILE, when='W0', backupCount=5)
logger = logging.getLogger(__name__)
if __name__ == "__main__":
logger.info("hello info")
logger.error("hello info")
logger.warn("hello info")
在filename的位置 可以填 相对位置 ,也可以填绝对位置 。
这个format = '%(asctime)s - %(levelname)s -%(process)d- %(filename)s:%(funcName)s:%(lineno)d - %(message)s 信息比较全,其他还有
%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息
用 info和 error 不同的方法打印日志,便于快速找到出错情况。