簡單示例
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 不同的方法打印日志,便于快速找到出錯情況。