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来启动
下面是启动后的界面,
主界面大体分为三个区,监视组件区、监视内容区,日志内容区
其中监视组件区有好多可以跟组的组件,比如ReportServer、BI Bus等,其中红色的表示对此项没有启用监控,黄色的表示部分启内容用监控,绿色的表示内部选项全部选中进行监控。
监视内容区中列出选中组件所监视的具体内容,对需要监视的内容选中。并保存,若对应项的restart为yes则表示需要重启才可启用该监控。
日志查看区下方为日志内容显示区,上方的工具条包括打开日志文件,清空日志内容、刷新日志、定时刷新日志,和查找。
设置好需要监控的内容后,点击保存,并点击重新启动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";)
这是我目前能够从中获取到的一些信息。当然里面还有好多信息,各位如果有新的东西可以告诉我。
总结:其实这个工具使用很简单,设置好要监控那些,保存,重启,运行相关报表,看日志输出即可,当然他还有更高级的应用,所以以后还得再研究研究
添加新评论11 条评论
2014-09-09 11:22
2013-08-16 17:08
2013-04-09 14:14
2013-01-20 22:56
2010-11-16 23:17
2010-11-10 00:27
2010-08-26 22:50
2010-08-26 22:50
2010-07-22 11:17
2010-07-09 15:43
2010-07-07 09:41