python(14)实践Django-logging

在工作中遇到的开发对logging的使用是分两个极端的,有些人喜欢把什么信息都打印出来,一不小心日志就刷屏,另一些人什么信息都不打印,当功能操作不对时定位问题都不知道从哪里开始。

个人认为使用日志的目的是定位问题方便,围绕着容易出问题的地方,最好有日志出现。

在当前的项目中容易出问题的是在和Jenkins交互的过程中,因此在jenkins的任务中加入日志。

  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任务中加日志
    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. 查看日志结果
    在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()
    可根据日志信息的性质选择打压日志的级别。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容