CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0
只能寫入到一個文件,屢次聲明無效
import logging
logging.basicConfig(
# filename='l1.log', # format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', # datefmt='%Y-%m-%d %H:%M:%S %p', # level=logging.INFO #這裏定義這個值是閥值,若是超過這個數了纔會寫入文件中 # ) # logging.log(logging.ERROR,'123123')
因此咱們只能自定義linux
def error_log(message): #建立文件對象 file_1_1 = logging.FileHandler('error.log', 'a+', encoding='utf-8') fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s") file_1_1.setFormatter(fmt) # 建立日誌對象 logger1 = logging.Logger('error', level=logging.ERROR) # 日誌對象和文件對象建立關係 logger1.addHandler(file_1_1) logger1.log(logging.FATAL,message) def run_log(message): file_1_1 = logging.FileHandler('run.log', 'a+', encoding='utf-8') fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s") file_1_1.setFormatter(fmt) # 建立日誌對象 logger1 = logging.Logger('run', level=logging.ERROR) # 日誌對象和文件對象建立關係 logger1.addHandler(file_1_1) logger1.log(logging.FATAL,message)
詳細錯誤信息打印django
class NicPlugin(BasePlugin): def linux(self): """ 執行命令,獲取資產信息 :return: """ ret = BaseResponse() try: result = self.cmd('nic') ret.data = result except Exception as e: v = traceback.format_exc() ret.status = False ret.error = v # 寫入本地日誌 obj = LoggerHelper.instance() obj.error_logger.log(50,v) return ret
這個方法就跟django裏面的中間件配置方法一個意思json
import importlib file_path,class_name = v.rsplit(','1) print(file_path,class_name) ##例如輸出的是目錄下文件 和 類名 m=importlib.import_module(file_path) #以字符串形式導入模塊 cls=getattr(m,class_name) obj=cls()
settings.API=‘www.baidu.com’ response = requests.post( url=settings.API, json = info #若是傳輸格式是json的話,它就會把你的值先序列化,而後在傳給API 實際上代碼也就是以json.dumps發過去 # data = info #若是是data 那你傳什麼,它就給api裏面發什麼 ) request.POST實際上是從body裏面把數據拿回來.轉換成字典,讓你使用的!!
def get_host_list(self): import json response = requests.get(settings.API) host_list = json.loads(response.text) #因此的數據都是在text中 return host_list
實際上request 返回的有好幾種類型:api
-text 字符串類型 -content 字節類型(bytes) -status_code 狀態碼 -cookies -headers 響應頭 (請求頭和請求體 是由2個換行符分割的)
例如:ret = requests.post(url='http://www.baidu.com',params={'k1':'v1','k2':'v2'},json=json.dumps({'user':‘zcq','pwd':'nb'}))cookie
這裏就是把用json把數據序列化成字符串在傳過去post
ret = requests.post(url='http://www.baidu.com',params={'k1':'v1','k2':'v2'},data={'user':‘zcq','pwd':'nb'},) 能夠在POST中包含內容傳過去url