xblock中添加日志

1. 把下面的内容保存为util.py

定义logger

# coding: utf8
# luofuwen

import logging


class Util:
    @staticmethod
    def logger(config):
 '''
        获取logger
        '''
        fh = logging.FileHandler(config['logFile'], encoding="utf-8")
        fmt = logging.Formatter(config['logFmt'])
        fh.setFormatter(fmt)
        logger = logging.getLogger(config['logName'])
        logger.setLevel(config['logLevel'])
        logger.addHandler(fh)
        return logger

2. 把下面的内容保存为conf.py

用于定义log的储存位置和格式

# coding:utf8
# luofuwen

import logging


class Config:
    # log config
    loggerConfig = {
     'logFile':'/tmp/workflow_block.log',
     'logFmt':'%(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(message)s',
     'logLevel': logging.INFO,
     'logName': 'WorkflowXBlockLogger',
    }


3. 如workflow.py   在xblock的类中加入下面的命令

from conf import Config
from util import Util
import logging

class WorkflowXBlock(XBlock):
    """
    这是一个工作流测试的xblock
    """

 # Fields are defined on the class.  You can access them in your code as
    # self.<fieldname>.

 # TO-DO: delete count, and define your own fields.

    logger = Util.logger(Config.loggerConfig)
    @XBlock.json_handler
   def increment_count(self, data, suffix=''):
           """
        An example handler, which increments the data.
        """
 # Just to show data coming in...
        assert data['hello'] == 'world'


       self.count += 1
       student = self.runtime.get_real_user(self.runtime.anonymous_student_id)
       studentEmail = student.email
       studentUsername = student.username
       studentIsStaff = student.is_staff
       self.logger.info('workflow test:%s, email=%s,username=%s,isStaff=%s',str(self.count),studentEmail,studentUsername,studentIsStaff)
       return {"count": self.count}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值