zoukankan      html  css  js  c++  java
  • 前后端日志封装

    前端开发:

    不直接使用console.log, 使用如下log封装, 不要在正式环境中打印日志!

    const formatTime = date => {
      const year = date.getFullYear()
      const month = date.getMonth() + 1
      const day = date.getDate()
      const hour = date.getHours()
      const minute = date.getMinutes()
      const second = date.getSeconds()
    
      return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
    }
    
    const formatNumber = n => {
      n = n.toString()
      return n[1] ? n : '0' + n
    }
    
    const log = (...arguments) => {
      // show 的开关控制可适项目灵活调整
      const show = App.env !== "Prod"
      if (show) {
        const time = formatTime(new Date())
        console.log(`[${time}]:`, ...arguments)
      }
    }
    
    export default {
      log
    }
    log("I am a log!!!")
    // [2012/01/01 03:42:21]: I am a log!!!

    后端开发:

    不要在代码中使用print, 应选择使用logging库, 单条日志中应该就可以用于定位出错的问题, 单条日志中应记录便于查询问题的唯一信息,例如ID,或者UID, user_id等信息 和 便于确定问题的参数

    import logging
    
    logger = logging.getLogger(__name__)
    
    logger.debug("%s %s" % (user.id, parameters))
    logger.info("{} {}".format(id, parameters))
    logger.error("")
    logger.warning("")

     转载请注明出处

  • 相关阅读:
    iOS_核心动画(二)
    iOS_核心动画CALayer(一)
    iOS_KVC与KVO
    iOS_Quartz 2D绘图
    iOS_触摸事件与手势识别
    iOS_多线程(二)
    iOS_多线程(一)
    iOS_UIAlertController
    CTF-Pwn-[BJDCTF 2nd]diff
    数据结构--队列(Java实现)
  • 原文地址:https://www.cnblogs.com/fanghl/p/11430734.html
Copyright © 2011-2022 走看看