鼎捷T100—二次开发:实现日志记录

实现日志(.log文件)记录编写


前言

在鼎捷日常运维中,碰到一些需要问题,有时候需要搭配日志作为问题判断的重要方法。本次记录在t100中编写子程序,将程序中运行的某些数据记录到日志文件中。


PUBLIC FUNCTION cs_xxxx_write_log(p_service_name,p_request_xml,p_response_xml)
 DEFINE p_request_xml          STRING #请求值
 DEFINE p_response_xml         STRING #返回值
 DEFINE p_service_name         STRING #服务名称
 
 DEFINE l_channel              base.Channel 
 DEFINE l_file                 STRING		#文件名
 DEFINE l_dom_doc              om.DomDocument #
 DEFINE l_dom_node             om.DomNode     #
 DEFINE l_str                  STRING #字符变量,用于日志       
 DEFINE l_cmd                  STRING #
 
 #设置文件名称 并且以当天日期命名
 LET l_file = "cs_xxxx-", TODAY USING 'YYYYMMDD', ".log" 
 #将文件存入暂存区
 LET l_file = os.Path.join(FGL_GETENV("TEMPDIR"), l_file)
 #创建文件连接器
 LET l_channel = base.Channel.create()
 #打开日志文件,以修改的状态
 CALL l_channel.openFile(l_file, "a")   

#打开日志文件成功
 IF STATUS = 0 THEN
 	#设置分隔符
    CALL l_channel.setDelimiter("")
    LET l_str = "#--------------------------- (", cl_get_current(), ") ------------------------#"
    CALL l_channel.write(l_str)
    CALL l_channel.write("")
    
    #将服务信息写入日志文件
    LET l_str = "Service Name     : " , p_service_name
    CALL l_channel.write(l_str)       
    LET l_str = "Time Start       :  ", g_log_data.start_time
    CALL l_channel.write(l_str)
    LET l_str = "     Ending      :  ", g_log_data.end_time
    CALL l_channel.write(l_str)
    LET l_str = "     Consuming   :  ", g_log_data.interval
    CALL l_channel.write(l_str)
    LET l_str = "     Transmission:  ", g_log_data.api_interval
    CALL l_channel.write(l_str)
    
    #将请求值信息写入日志
    CALL l_channel.write("")
    LET l_str = "Request JSON     :"
    CALL l_channel.write(l_str)
    CALL l_channel.write(p_request_xml)
    
    #将返回值信息写入日志
    CALL l_channel.write("")
    LET l_str = "Response JSON    :"
    CALL l_channel.write(l_str)
    CALL l_channel.write(p_response_xml)

    CALL l_channel.write("#------------------------------------------------------------------------------#")
    #关闭日志文件编写
    CALL l_channel.close()
    #设置日志文件的权限-使得所有人可读可编写
    LET l_cmd = "chmod 666 ", l_file CLIPPED, " >/dev/null 2>/dev/null"
    #运行设置
    RUN l_cmd
 ELSE
 	#打开日志文件失败
    DISPLAY "Can't open log file."
 END IF
END FUNCTION

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值