zoukankan      html  css  js  c++  java
  • log的简单说明

    log的简单说明

    @(NS3相关)[core][log]

    NS3中的日志功能是非常完善与灵活,大家有需要显示一些调试或者警告信息时最好使用log,不再使用标准输入来输出中间信息。

    • 头文件:ns3/log.h
    • v2g/model中对应的cc文件注册对应的日志组件(一般一个类对应一个日志组件,如EvApp.cc中注册了“EvApp"日志组件
    • 注册了日志组件后,就可以在对应的源文件源文件中使用相关的宏写入日志信息。 具体包括:
    NS_LOG_ERROR();//写入LOG_LEVEL_ERROR级别的日志信息
    NS_LOG_WARN();//写入LOG_LEVEL_WARN级别日志信息
    NS_LOG_DEBUG();//写入LOG_LEVEL_DEBUG级别日志信息
    NS_LOG_INFO();//写入LOG_LEVEL_INFO级别日志信息
    NS_LOG_FUNCTION();//写入LOG_LEVEL_FUNCTION级别日志信息
    NS_LOG_LOGIC();//写入LOG_LEVEL_LOGIC级别日志信息

    使用这些宏就和使用标准输出一样,非常方便, 需要输出多个变量时,变量间用<<连接。示例如下

    int i
    NS_LOG_DEBUG(i);
    NS_LOG_DEBUG("Debug log");
    NS_LOG_INFO("info log:" << i <<" done");
    • 在脚本中使用LogComponentEnable宏来定义日志组件使能级别,即可控制输出信息。使能级别为LOG_LEVEL_INFO时,LOG_LEVEL_INFO以下(包括LOG_LEVEL_INFO)的相关日志信息都会输出。如
    //in exam-app.cc
    void ExamApp::Test()
    {
        NS_LOG_ERROR("NS_LOG_ERROR");
        NS_LOG_WARN("NS_LOG_WARN");
        NS_LOG_DEBUG("NS_LOG_DEBUG");
        NS_LOG_INFO("NS_LOG_INFO");
        NS_LOG_FUNCTION (this << "NS_LOG_FUNCTION ");
        NS_LOG_LOGIC("NS_LOG_LOGIC");
        std::cout << m_appId << std::endl;
    }
    
    //in test-exam-app.cc
    #include "ns3/exam-app.h"
    #include "ns3/log.h"
    
    using namespace ns3;
    
    int main()
    {
        LogComponentEnable ("ExamApp", LOG_LEVEL_FUNCTION);
        ExamApp a1("EV_1");
        a1.Test();
        return 0;
    }

    执行main函数,除了"NS_LOG_LOGIC"字符串不会输出外,其他都会输出。

  • 相关阅读:
    JavaScript基础概念之----作用域
    Vue-Router基础知识点总结【vue系列】
    前端如何进行seo优化
    常见算法
    ES6新特性
    VUE内使用AES(BCB)加解密
    VUE内使用RSA加解密
    vue 使用v-html指令渲染的富文本无法修改样式的解决方法
    js中字符串可以调用的方法
    基于H5的混合开发介绍(一)WebView
  • 原文地址:https://www.cnblogs.com/rainySue/p/log-de-jian-dan-shuo-ming.html
Copyright © 2011-2022 走看看