概要
Cognos TM1 Webで、CubeViewやWebSheetなどの、一般的なユーザーの操作をログしたい時のやり方です。
Cognos TM1では、監査の機能はありますが、あくまでCubeやDimensionの参照などの、オブジェクトへの変更処理を監査ログとして記録するだけなので、監査機能を用いる事はできません。
TM1 Webのログである、tm1web.logに出力する事になりますので、そのやり方をご紹介します。
内容
TM1 Webログの出力レベルを調整するファイルが、以下のファイルとなります。
C:\Program Files\ibm\cognos\tm1_64\webapps\tm1web\WEB-INF\configuration\log4j.properties
このファイルに、以下の太字の4行を追加し保存します。
# System logging settings
log4j.rootLogger=ERROR, TextFile
log4j.logger.com.ibm.cognos=ERROR
log4j.logger.com.cognos=ERROR
log4j.logger.com.cognos.org=ERROR
log4j.logger.com.ibm.cognos.perf=ERROR
log4j.logger.com.ibm.cognos.tm1=ERROR
log4j.logger.com.ibm.cognos.tm1.web.services.TM1ExportService=DEBUG
log4j.logger.com.ibm.cognos.tm1.web.services.TM1Service=DEBUG
log4j.logger.com.ibm.cognos.tm1.publish.Workbook=DEBUG
log4j.logger.com.ibm.cognos.tm1.web.services.TM1ServerSessionInfo=DEBUG
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p (%x) %c - %m%n
log4j.appender.TextFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.TextFile.File=logs/tm1web.log
log4j.appender.TextFile.DatePattern=.yyyy-MM-dd
log4j.appender.TextFile.layout=org.apache.log4j.PatternLayout
log4j.appender.TextFile.layout.ConversionPattern=%d [%t] %-5p (%x) %c - %m%n
log4j.appender.XMLFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.XMLFile.File=logs/tm1web_log.xml
log4j.appender.XMLFile.DatePattern=.yyyy-MM-dd
log4j.appender.XMLFile.layout=org.apache.log4j.xml.XMLLayout
TM1 Application Serverのサービスを再起動します。
その結果、tm1web.logにCubeViewの参照やWebSheetの参照がログされるようになります。
tm1web.logは、以下の場所にあります。
C:\Program Files\ibm\cognos\tm1_64\webapps\tm1web\WEB-INF\logs\tm1web.log
WebSheetを実行すると、以下のようなログが出力されます
2017-06-20 20:14:19,182 [http-9510-4] DEBUG () com.ibm.cognos.tm1.web.services.TM1Service - Method: getTM1ObjectId Parameters: 3edb1c15-04cd-4327-aef5-96d86b463186, アプリケーション/Planning Sample/Management Reporting/Actual v Budget, true
2017-06-20 20:14:19,182 [http-9510-4] DEBUG () com.ibm.cognos.tm1.web.services.TM1Service - Enter to createImplServiceInstance.
2017-06-20 20:14:19,182 [http-9510-4] DEBUG () com.ibm.cognos.tm1.web.services.TM1Service - Exit from createImplServiceInstance.
2017-06-20 20:14:19,183 [http-9510-4] DEBUG () com.ibm.cognos.tm1.web.services.TM1Service - Enter to getTM1ObjectId, sessionToken: 3edb1c15-04cd-4327-aef5-96d86b463186, objectURI: アプリケーション/Planning Sample/Management Reporting/Actual v Budget, isSheet: true.
2017-06-20 20:14:19,183 [http-9510-4] INFO () com.ibm.cognos.tm1.web.services.TM1Service - New object id requested for websheet 'アプリケーション/Planning Sample/Management Reporting/Actual v Budget'.
2017-06-20 20:14:19,191 [http-9510-4] DEBUG () com.ibm.cognos.tm1.web.services.TM1Service - Exit from getTM1ObjectId, objectId: -50750792.
CubeViewの実行は、以下のようなログです
2017-06-20 20:13:19,980 [http-9510-4] DEBUG () com.ibm.cognos.tm1.web.services.TM1Service - Method: newCubeViewWidget Parameters: 3edb1c15-04cd-4327-aef5-96d86b463186, plan_BudgetPlan, Budget Input Detailed, true
2017-06-20 20:13:19,980 [http-9510-4] DEBUG () com.ibm.cognos.tm1.web.services.TM1Service - Enter to createImplServiceInstance.
2017-06-20 20:13:19,980 [http-9510-4] DEBUG () com.ibm.cognos.tm1.web.services.TM1Service - Exit from createImplServiceInstance.
どのCubeやどのWebSheetが使用されているのか知りたい、という要件があった場合にご検討下さい。
もちろん、ログ出力量は増加しますので、その点もご注意頂ければと思います。
以降に参考情報を記載しますが、参考情報の手順では、log4j.logger.com.ibm.cognos.tm1.web.services.TM1Service=INFO
になっているのですが、これだとCubeViewの出力ができなかったので、DEBUGとしました。
参考情報
Log which Websheets and Cubeview are used in TM1Web
http://www-01.ibm.com/support/docview.wss?uid=swg21980348