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 ;
}
执行main函数,除了"NS_LOG_LOGIC"字符串不会输出外,其他都会输出。
log的简单说明的更多相关文章
- mysql 二进制日志binary log操作简单命令
show master status \G; #查看当前正在记录的二进制日志 show binary logs; #查看binary log 所有文件列表 show binlog events; #查 ...
- 通过Nginx,Tomcat访问日志(access log)记录请求耗时
一.Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间 nginx.conf使用配置方式: log_format main '$remo ...
- 学习笔记:The Log(我所读过的最好的一篇分布式技术文章)
前言 这是一篇学习笔记. 学习的材料来自Jay Kreps的一篇讲Log的博文. 原文很长,但是我坚持看完了,收获颇多,也深深为Jay哥的技术能力.架构能力和对于分布式系统的理解之深刻所折服.同时也因 ...
- javascript 中的console.log和弹出窗口alert
主要是方便你调式javascript用的.你可以看到你在页面中输出的内容. 相比alert他的优点是: 他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是co ...
- Oracle Dataguard Standby Redo Log的两个实验
在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型.从最新的DG安装指导中,都推荐在Primary和Standby端,都配置Standby Redo Log. 简单 ...
- springboot 集成elasticsearh的简单配置
添加依赖 gradle compile("org.springframework.boot:spring-boot-starter-data-elasticsearch:${springBo ...
- java中log的应用
log的简单应用 备忘 加入jar包commons-logging-1.1.jar log4j.properties 如下(就放在src根目录底下 名字和位置都不要变) #OFF.FATAL.ERRO ...
- shell脚本删除log日志
删除log文件简单shell脚本 经常会遇到日志把磁盘占满的情况,引起低级故障.我个人在实际工作中,尝试了如下的方法,比较简单,而且快捷有效. #!/bin/bash # /root/log_dele ...
- 学习笔记:The Log(我所读过的最好的一篇分布式技术文章)
前言 这是一篇学习笔记. 学习的材料来自Jay Kreps的一篇讲Log的博文. 原文非常长.可是我坚持看完了,收获颇多,也深深为Jay哥的技术能力.架构能力和对于分布式系统的理解之深刻所折服.同一时 ...
随机推荐
- sql 删除重复行
1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from ...
- 一个十年java程序员的心得
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...
- Software Development Engineer - Database Services
http://stackoverflow.com/jobs/116486/software-development-engineer-database-services-amazon?med=clc& ...
- viewpager和fragment预加载的解决
在使用Viewpager和fragment处理中会出现预加载的问题,最近看别人的代码,终于找到了一个很好的处理方法 能有效的解决预加载的问题,在fragment都继承一个重写setUserVisibl ...
- Java关键字用法及区别
abstract 修饰词表明类或者成员方法具有抽象属性, 用于修饰类时 该类为抽象类 用于方法前 该方法为抽象方法. assert 用来进行程序调试 断言预判的意思. boolean 基本数据类型之一 ...
- java servlet手机app访问接口(四)推送
一. 服务端DEMO下载及运行. 登录友盟后,浏览器直接输入下面这个URL,直接进入文档开发和DEMO下载页面:http://dev.umeng.com/push/ios/integration(下面 ...
- 我的JavaScript笔记
JavaScript 一种基于对象(object)和事件驱动(Event Driven)的嵌入式脚本语言. 简单的例子 <html> <head> <title>D ...
- selector 的用法,在选择和不选择情况下的颜色
在res/drawable文件夹新增一个文件,此文件设置了图片的触发状态,你可以设置 state_pressed,state_checked,state_pressed,state_selected, ...
- vsftp "上传 553 Could not create file"
我在LINUX下VSftp建立一个FTP服务器,但从WINDOWS使用FTP时,无法上传也无法下载!出错如下 ftp>; ls 200 PORT command successful. Cons ...
- css3中的前缀
css3中: -o-:opera -moz:firefox -webkit:safari chrome -ms:IE9