logging模組有兩個處理方式, 乙個是直接使用logging處理, 另乙個是生成乙個物件, 用物件來處理
匯入logging模組
使用logging.basicconfig來設定配置資訊
引數level設定日誌級別
引數format可以設定一條日誌資訊的列印格式
引數datefmt可以設定時間的顯示格式
引數filename可以設定將日誌輸出成檔案的檔案名字, 該檔案指定之後控制台就不顯示了
引數filemode可以設定寫入檔案的寫入模式
寫入日誌資訊的可以使用
logging.日誌級別(日誌資訊)
其中日誌界別的順序是: debug < info < warning < error < critical
使用**如下
import loggingmyformat = '[ %(levelname)s : %(asctime)s ] %(pathname)s[ %(lineno)d ] == > %(message)s'
mydateformat = '%y-%m-%d %x'
logging.basicconfig(level=logging.info, format=myformat, datefmt=mydateformat, filename='log', filemode='a')
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
獲取logging物件
logging.getlogger()
可以指定名字, 預設為root
設定檔案或者螢幕輸出物件
logging.filehandler(檔案名字, mode=讀寫模式, encoding=編碼, delay=布林值)
logging.streamhandler()
設定日誌等級
logging物件.setlevel(等級)
設定列印格式
filehandler物件.setformatter(格式)
streamhandler物件.setformatter(格式)
繫結handler物件給logging物件
logging物件.addhandler( 檔案或者流handler物件 )
具體使用方法
import logginglog = logging.getlogger()
fh = logging.filehandler('log2')
sh = logging.streamhandler()
log.setlevel(logging.debug)
myformat = '[ %(levelname)s : %(asctime)s ] %(pathname)s[ %(lineno)d ] == > %(message)s'
formatter = logging.formatter(myformat)
fh.setformatter(formatter)
sh.setformatter(formatter)
log.addhandler(fh)
log.addhandler(sh)
logging.debug('debug message')
可以通過json模組來講資料轉化為json格式資料, 並且儲存
還可以直接讀取檔案並將高json內容轉化為對應的python格式資料
將資料轉為json字串
json.dumps(需要轉的資料)
將json資料轉化為物件的python資料
json.loads( json字串 )
其中對應的有dunp()和load()方法, 這倆有兩引數, 用於直接開啟檔案控制代碼來讀或者寫
具體是用例項如下
import jsondic=
data=json.dumps(dic)
# ''
f=open('json','w')
f.write(data)
f.close()
f=open('json')
new_data=json.loads(f.read())
#
使用dunp或者load方法的處理如下
import jsondic=
json.dump(dic, open('json',"w"))
newdata = json.load(open('json'))
#
正規表示式參見全面的解析
我的總結
sed和awk序列之正規表示式
如果為正規表示式的第乙個字元,匹配行的開始 如果是正規表示式的最後乙個字元,匹配行的結尾 匹配前面某個範圍內單個字元出現的次數 匹配前面的正規表示式的一次或多次出現 匹配前面的正規表示式0次或1次匹配 指定可匹配前面的或後面的正規表示式 對正則式進行分組 匹配前面某個範圍內的單個字元出現的次數 過程...
日誌正規表示式
一 簡單的日期判斷 yyyy mm dd d d 1 d 二 演化的日期判斷 yyyy mm dd yy mm dd d d d 3 d d年 d 月 d日 三 加入閏年的判斷的 例項 1 6 9 2 9 d d 0?13578 1 02 0?1 9 12 d 3 01 1 6 9 2 9 d d ...
正規表示式清理日誌
字段提取中正規表示式的使用 提取日誌中的資訊格式 欄位名稱 匹配具體資訊的正規表示式 日誌樣例 78 2019 08 21t17 10 01.461970 08 00 localhost crond root cmd usr lib64 sa sa1 1 1 正規表示式 d s s s s s s ...