server、activity、taskログに共通のレポート生成番号を出力する方法

文書番号 : 40161     文書種別 : 使用方法     登録日 : 2017/03/17     最終更新日 : 2017/03/17
文書を印刷する
対象製品
Elixir Report 8.7J
詳細
レポートサーバーのログファイル(server.log、activity.log、task.log)に、レポート生成の一意な番号を出力することができます。
複数のログファイルに、共通するレポート生成番号を出力することで、問題発生時にどのレポート生成でエラーが発生したのか特定しやすくなります。

次の手順で設定を行います。

1. ログ設定ファイルをテキストエディタで開きます。
 
  <インストールディレクトリ>/server/config/log-config.xml

2. 変更するログファイルに応じて<appender name=から始まる項目を探します。

  server.logの場合
  <appender name="Server" class="org.apache.log4j.RollingFileAppender">

  activity.logの場合
  <appender name="Activity" class="org.apache.log4j.RollingFileAppender">

  task.logの場合
  <appender name="Task" class="org.apache.log4j.RollingFileAppender">


3. それぞれの項目のConversionPatternに、"%X{task}"という記述を追加します。
  次の例では、行最後の"%m%n"の間に追加しています。

  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern"
     value="%d{ISO8601},%-5p,%-10X{username}, %m %X{task}%n" />
  </layout>

4. log-config.xmlを上書き保存して、レポートサーバーを再起動します。


下記はレポート内のスクリプトでエラーが発生したときのログ出力例です。
各ログファイルのログ出力の最後に "report-(番号)"(この例では"report-20")と出力されていることが確認できます。

server.log:
XXXX-XX-XX XX:XX:XX,XXX,xxx@qtp-xxx-x,ERROR, JavaScript - JavaScript eval: Error evaluating script: org.mozilla.javascript.EcmaError: ReferenceError: "Page" is not defined. (report script#27)
ReferenceError : ReferenceError: "Page" is not defined. (report script#27)
line: 27 col: 0 text: null report-20

activity.log:
XXXX-XX-XX XX:XX:XX,XXX,INFO ,xxxx   , Task completed: Report X /demo/sample.rml report-20

task.log:
XXXX-XX-XX XX:XX:XX,XXX,xxx@qtp-xxx-x,INFO ,id:x,type:Report,owner:xxxx,host:xxx.xxx.xx.xx:7001,lifecycle:Done,description:/demo/sample.rml,elapseTime:xx,start:XXXX-XX-XX XX:XX:XX XXX,end:XXXX-XX-XX XX:XX:XX XXX,message: report-20