欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python日志:自定義輸出字段 json格式輸出方式

 更新時間:2020年04月27日 10:10:50   作者:地球儀LV小陀螺  
這篇文章主要介紹了Python日志:自定義輸出字段 json格式輸出方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近有一個需求:將日志以json格式輸出, 并且有些字段是logging模塊沒有的.看了很多源碼和資料, 終于搞定, 抽取精華分享出來, 一起成長.

import json
import logging
 
class JsonFilter(logging.Filter):
 
 ip = 'IP'
 source = 'APP'
 
 def filter(self, record):
  record.ip = self.ip
  record.username = self.source
  return True
 
if __name__ == '__main__':
 
 formate = json.dumps({
  "time": "%(asctime)s",
  "levelname": "%(levelname)s",
  "levelno": "%(lineno)d",
  "ip": "%(ip)s",
  "source": "%(source)s"
 })
 logging.basicConfig(level=logging.DEBUG,
      format=formate)
 logger = logging.getLogger()
 filter_ = JsonFilter()
 logger.addFilter(filter_)
 
 logger.debug('A debug message')
 
 filter_.ip = '127.0.0.1'
 filter_.source= 'china'
 logger.info('A message for test')

運行結果:

其實就是重寫了logging.Filter的filter方法,自定義需要的字段, 在調(diào)用日志輸出時,賦予相應的值即可.不賦予相應的值時也可以輸出日志, 會自動按照定義字段時的信息輸出.

補充知識:Log打印完整參數(shù),生成Json文件

當字符數(shù)量足夠多的的時候,Log控制臺便會自動截取,不能在控制臺上完整輸出,可以利用如下方法,這種方式會在測試機或者虛擬機的根目錄生成一個new.json文件,里面是完整的Log信息

public static void printStringToFile(String str) {
 File file = new File(Environment.getExternalStorageDirectory(), "new.json");
 Log.d("Lyb", "path = " + file.getAbsolutePath());
 FileWriter writer = null;
 try {
  Log.d("Lyb", "createNewFile");
  if (!file.exists()) {
   file.createNewFile();
  }else {
   file.delete();
   file.createNewFile();
  }
  writer = new FileWriter(file, true);
  writer.write(str);
  writer.flush();
  writer.close();
  writer = null;
 } catch (IOException e) {
  e.printStackTrace();
 } finally {
  try {
   if (writer != null) {
    writer.close();
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}

以上這篇Python日志:自定義輸出字段 json格式輸出方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • python將數(shù)據(jù)插入數(shù)據(jù)庫的代碼分享

    python將數(shù)據(jù)插入數(shù)據(jù)庫的代碼分享

    在本篇文章里小編給大家整理的是關于python將數(shù)據(jù)插入數(shù)據(jù)庫的代碼內(nèi)容,有興趣的朋友們可以參考下。
    2020-08-08
  • 利用pytorch實現(xiàn)對CIFAR-10數(shù)據(jù)集的分類

    利用pytorch實現(xiàn)對CIFAR-10數(shù)據(jù)集的分類

    今天小編就為大家分享一篇利用pytorch實現(xiàn)對CIFAR-10數(shù)據(jù)集的分類,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 用OpenCV進行年齡和性別檢測的實現(xiàn)示例

    用OpenCV進行年齡和性別檢測的實現(xiàn)示例

    這篇文章主要介紹了用 OpenCV 進行年齡和性別檢測的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • python 獲取字符串MD5值方法

    python 獲取字符串MD5值方法

    今天小編就為大家分享一篇python 獲取字符串MD5值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python函數(shù)中的全局變量詳解

    Python函數(shù)中的全局變量詳解

    大家好,本篇文章主要講的是Python函數(shù)中的全局變量詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • python靜態(tài)方法實例

    python靜態(tài)方法實例

    這篇文章主要介紹了python靜態(tài)方法,實例分析了python靜態(tài)方法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • Python函數(shù)式編程實例詳解

    Python函數(shù)式編程實例詳解

    這篇文章主要介紹了Python函數(shù)式編程,結合實例形式詳細分析了Python函數(shù)式編程高階函數(shù)、匿名函數(shù)、閉包及函數(shù)裝飾器等相關概念、原理與使用技巧,需要的朋友可以參考下
    2020-01-01
  • Tensorflow 自帶可視化Tensorboard使用方法(附項目代碼)

    Tensorflow 自帶可視化Tensorboard使用方法(附項目代碼)

    這篇文章主要介紹了Tensorflow 自帶可視化Tensorboard使用方法(附項目代碼),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 用Python繪制漫步圖實例講解

    用Python繪制漫步圖實例講解

    在本篇文章里小編給大家整理的是一篇關于用Python繪制漫步圖實例講解內(nèi)容,需要的朋友們可以學習下。
    2020-02-02
  • 基于Python實現(xiàn)的掃雷游戲實例代碼

    基于Python實現(xiàn)的掃雷游戲實例代碼

    這篇文章主要介紹了基于Python實現(xiàn)的掃雷游戲實例代碼,對于Python的學習以及Python游戲開發(fā)都有一定的借鑒價值,需要的朋友可以參考下
    2014-08-08

最新評論