interboy
作者interboy2010-07-06 12:48
软件开发工程师, 北京中电普华信息技术有限公司

利用Cognos Logging Console对Cognos进行调试

字数 4003阅读 3249评论 11赞 6
Cognos一般出现什么错误不能像写程序一样设置断点,进行跟踪,一般都是根据日志文件来看,然而日志文件读起来却比较麻烦,前一段时间写了个利用LogViewer查看日志,其实Logviewer只是Cognos Logging Console的一个独立组件

Cognos一般出现什么错误不能像写程序一样设置断点,进行跟踪,一般都是根据日志文件来看,然而日志文件读起来却比较麻烦,前一段时间写了个利用LogViewer查看日志,其实Logviewer只是Cognos Logging Console的一个独立组件。今天给大家介绍一下Cognos Logging Cognos。
该文件在c8_locationbinlogconsole.exe ,双击启动,弹出启动界面

当然,如果JRE环境有问题,可能会出现下面的提示


我是这样处理的,写一个批处理文件,logconsole.bat 内容如下:


set JAVA_HOME=C:Program Filescognosc8binjre1.5.0
set path=%JAVA_HOME%bin;$path$
logconsole.exe

利用
cognos自带的jre来启动

下面是启动后的界面,

主界面大体分为三个区,监视组件区、监视内容区,日志内容区

其中监视组件区有好多可以跟组的组件,比如ReportServerBI Bus等,其中红色的表示对此项没有启用监控,黄色的表示部分启内容用监控,绿色的表示内部选项全部选中进行监控。

监视内容区中列出选中组件所监视的具体内容,对需要监视的内容选中。并保存,若对应项的restartyes则表示需要重启才可启用该监控。

日志查看区下方为日志内容显示区,上方的工具条包括打开日志文件,清空日志内容、刷新日志、定时刷新日志,和查找。

设置好需要监控的内容后,点击保存,并点击重新启动cognos按钮,重新启动cognos服务

启动成功后

开启监控后,我访问我的参赛报表,看一下我们可以得到哪些信息

点击uda,日志区默认显示此监控当前所用设置(我目前也没找到在哪里修改这些设置)

在点击我们监控的元素,日志区会显示生成的日志

我取其中一条试着解释一下
<TraceEvent Layer="8" Category="2" ThreadId="00000298" Timestamp="4226719"><SQLAPI Id="e4"><![CDATA[release request r40021;]]></SQLAPI></TraceEvent>
Layer和Categor具体指的是啥我也不清楚,ThreadId是所用线程,Timestamp是时间戳,SQLAPIId里面指定的是执行的具体命令。
我们可以根据第一条的timestamp和最后的timestamp做差,看这个报表获取数据所执行的时间,那个地方耗费的时间长。
这里面我们仔细看,能够看到生成的sql语句,传递的参数等信息,下面是我截取的一段信息:

<TraceEvent Layer="8" Category="2" ThreadId="00000DDC" Timestamp="4215266"><SQLAPI Id="e4"><![CDATA[prepare r40009 from"with
Q2 as
    (cognoschina....{select t.unit_id,t.current_wage,t.current_labour_capacity,t.current_employee_number,t.report_month from fact_unit t})
select
       Q2.REPORT_MONTH  as  levelkey,
       Q2.CURRENT_EMPLOYEE_NUMBER  as  CURRENT_EMPLOYEE_NUMBER
 from
       Q2
 where
       (Q2.UNIT_ID = CAST(:PQ1 AS varchar(32)))
 order by
       levelkey asc" in t40001 macrovaluecallback, collate "zh-cn" , disable metadata cache, XFormClientServer, enable nagging, all rows, database only, avoid zero division;]]></SQLAPI></TraceEvent>
<TraceEvent Layer="8" Category="2" ThreadId="00000DDC" Timestamp="4215266"><SQLAPI Id="e4"><![CDATA[show features d40001 case sensitive;]]></SQLAPI></TraceEvent>
<TraceEvent Layer="8" Category="2" ThreadId="00000DDC" Timestamp="4215281"><SQLAPI Id="e4"><![CDATA[show features d40001 bulkfetchrows;]]></SQLAPI></TraceEvent>
<TraceEvent Layer="8" Category="2" ThreadId="00000DDC" Timestamp="4215297"><SQLAPI Id="e4"><![CDATA[declare c40003 cursor for r40009 bulk fetch rows 100;]]></SQLAPI></TraceEvent>
<TraceEvent Layer="8" Category="2" ThreadId="00000DDC" Timestamp="4215297"><SQLAPI Id="e4"><![CDATA[describe input r40009;]]></SQLAPI></TraceEvent>
<TraceEvent Layer="8" Category="2" ThreadId="00000DDC" Timestamp="4215313"><SQLAPI Id="e4"><![CDATA[asyncopen c40003 parm PQ1:"00";]]></SQLAPI></TraceEvent>
从上面的信息中我能够清晰的看到处理后的sql语句,第一次获取数据的行数(declare c40003 cursor for r40009 bulk fetch rows 100;),还有传递的参数(asyncopen c40003 parm PQ1:"00";)
这是我目前能够从中获取到的一些信息。当然里面还有好多信息,各位如果有新的东西可以告诉我。
总结:其实这个工具使用很简单,设置好要监控那些,保存,重启,运行相关报表,看日志输出即可,当然他还有更高级的应用,所以以后还得再研究研究

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

6

添加新评论11 条评论

HomeMangoHomeMango商业智能工程师, HTZQ
2014-09-09 11:22
c10.1没有找到你说的那个文件 何解?
hellocognoshellocognos软件架构设计师, IBM
2013-08-16 17:08
佩服啊,对cognos研究很深入啊。长见识了。谢谢
lenciolencio4, cons
2013-04-09 14:14
c10怎么看才好?
hikeplayguitarhikeplayguitar研发工程师, 山东城市商业银行联盟
2013-01-20 22:56
c10里面没找到logconsole.exe
ywt212ywt212数据仓库工程师, 其他
2010-11-16 23:17
佩服,很厉害
javabeanjavabean
2010-11-10 00:27
钻研很深呀、佩服
gpic01gpic01其它, gpic
2010-08-26 22:50
很不错,值得研究,谢谢
gpic01gpic01其它, gpic
2010-08-26 22:50
很不错,值得研究,谢谢

2010-07-22 11:17
you are genius!!
cognosniucognosniu软件开发工程师, 太平洋寿险
2010-07-09 15:43
感觉很不错的,但还没有研究过这方面的内容的。
lysa01lysa01软件开发工程师, ds
2010-07-07 09:41
很不错,值得研究,谢谢
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广