python(14)實踐Django-logging

在工作中遇到的開發(fā)對logging的使用是分兩個極端的,有些人喜歡把什么信息都打印出來温算,一不小心日志就刷屏须眷,另一些人什么信息都不打印,當功能操作不對時定位問題都不知道從哪里開始。

個人認為使用日志的目的是定位問題方便搀罢,圍繞著容易出問題的地方腋粥,最好有日志出現(xiàn)晦雨。

在當前的項目中容易出問題的是在和Jenkins交互的過程中,因此在jenkins的任務(wù)中加入日志隘冲。

  1. setting配置
    # Logging setting
      LOGGING = {
         'version': 1,
         'disable_existing_loggers': False,
         'formatters': {
             'verbose': {
                 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
             },
             'main': {
                 'datefmt': '%Y-%m-%d %H:%M:%S',
                 'format': '%(asctime)s [%(module)s %(levelname)s] %(message)s',
             },
             'simple': {
                'format': '%(levelname)s %(message)s'
             },
        },
     'handlers': {
         'null': {
             'level': 'DEBUG',
             'class': 'logging.NullHandler',
         },
         'console': {
             'level': 'DEBUG',
             'class': 'logging.StreamHandler',
             'formatter': 'main'
         },
         'file': {
             'level': 'DEBUG',
             'class': 'logging.FileHandler',
             'formatter': 'main',
             'filename': os.path.join(BASE_DIR, 'data/logs', 'Testmanager.log')
         },
         'jenkins_logs': {
             'level': 'DEBUG',
             'class': 'logging.FileHandler',
             'formatter': 'main',
             'filename': os.path.join(BASE_DIR, 'data/logs', 'jenkins.log')
         },
     },
     'loggers': {
         'django': {
             'handlers': ['null'],
             'propagate': False,
             'level': LOG_LEVEL,
         },
          'django.request': {
              'handlers': ['console', 'file'],
              'level': LOG_LEVEL,
              'propagate': False,
          },
          'django.server': {
               'handlers': ['console', 'file'],
               'level': LOG_LEVEL,
               'propagate': False,
          },
           'Testmanager': {
               'handlers': ['console', 'file'],
               'level': LOG_LEVEL,
           },
           'devops.tasks': {
               'handlers': ['console', 'jenkins_logs'],
               'level': LOG_LEVEL,
            }
        }
    }
    
  2. 再devops的tasks任務(wù)中加日志
    import logging
    logger = logging.getLogger(__name__)
    
    @shared_task
    def update_pci_build_by_jenkins(job_name,build_number,pci_build_id,pid):
    jen = jenkins.Jenkins(jenkins_url, username=jenkins_user, password=jenkins_passwd)
    pci_build = PCI_BUILDS.objects.get(id=pci_build_id)
    pci = PCI.objects.get(id=pid)
    # 最后一次build號
    logger.info('update_pci_build_by_jenkins:' + "pci:" +  str(pid) + ':job_name:' + job_name + ':build_number:' + str(build_number) )
    times = jen.get_build_info(job_name, build_number)['timestamp']
    # build的日期
    result = jen.get_build_info(job_name, build_number)['result']
    ...
    
  3. 查看日志結(jié)果
    在data/logs/目錄下生成jenkins.log文件
    jenkins.log中記錄
    2017-08-09 19:02:02 [tasks INFO update_pci_build_by_jenkins:pci:3:job_name:epg_probe_collect:build_number:24
    
  4. 補充
    logger.critical()
    logger.error()
    logger.warning()
    logger.info()
    logger.debug()
    可根據(jù)日志信息的性質(zhì)選擇打壓日志的級別闹瞧。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市对嚼,隨后出現(xiàn)的幾起案子夹抗,更是在濱河造成了極大的恐慌,老刑警劉巖纵竖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漠烧,死亡現(xiàn)場離奇詭異杏愤,居然都是意外死亡,警方通過查閱死者的電腦和手機已脓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門珊楼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人度液,你說我怎么就攤上這事厕宗。” “怎么了堕担?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵已慢,是天一觀的道長。 經(jīng)常有香客問我霹购,道長佑惠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任齐疙,我火速辦了婚禮膜楷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贞奋。我一直安慰自己赌厅,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布轿塔。 她就那樣靜靜地躺著特愿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪催训。 梳的紋絲不亂的頭發(fā)上洽议,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音漫拭,去河邊找鬼亚兄。 笑死,一個胖子當著我的面吹牛采驻,可吹牛的內(nèi)容都是我干的审胚。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼礼旅,長吁一口氣:“原來是場噩夢啊……” “哼膳叨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起痘系,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤菲嘴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體龄坪,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡昭雌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了健田。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烛卧。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖妓局,靈堂內(nèi)的尸體忽然破棺而出总放,到底是詐尸還是另有隱情,我是刑警寧澤好爬,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布局雄,位于F島的核電站,受9級特大地震影響抵拘,放射性物質(zhì)發(fā)生泄漏哎榴。R本人自食惡果不足惜型豁,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一僵蛛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迎变,春花似錦充尉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谆吴,卻和暖如春倒源,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背句狼。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工笋熬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腻菇。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓胳螟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親筹吐。 傳聞我的和親對象是個殘疾皇子糖耸,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容