JP2010039796A - ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム - Google Patents

ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム Download PDF

Info

Publication number
JP2010039796A
JP2010039796A JP2008202496A JP2008202496A JP2010039796A JP 2010039796 A JP2010039796 A JP 2010039796A JP 2008202496 A JP2008202496 A JP 2008202496A JP 2008202496 A JP2008202496 A JP 2008202496A JP 2010039796 A JP2010039796 A JP 2010039796A
Authority
JP
Japan
Prior art keywords
logging
information
function
program
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008202496A
Other languages
English (en)
Inventor
Kozo Matsushita
耕三 松下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008202496A priority Critical patent/JP2010039796A/ja
Priority to US12/479,264 priority patent/US20100036891A1/en
Publication of JP2010039796A publication Critical patent/JP2010039796A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】膨大な数のロギング関数がプログラム中に存在する場合であっても、これらのロギング関数を特定するための膨大な数のユニークな情報を別途管理することなく、ロギング採取処理を呼び出しているロギング関数を容易に特定することを目的とする。
【解決手段】ロギング関数Lを特定するための特定情報に関する制御情報を登録する制御テーブル11と、ロギング関数Lが実行される都度、このロギング関数Lに埋め込まれた特定情報を取得する取得部14と、制御テーブル11に登録された制御情報と取得部14により取得した特定情報とに基づいて、この特定情報に対応するロギング情報が採取対象であるかを判断する判断部15と、判断部15により採取対象であると判断されたロギング情報を記憶部13に記憶させる制御を行なう記憶制御部17とをそなえ、特定情報は、プログラムPにおけるロギング関数Lの位置情報をそなえて構成される。
【選択図】図1

Description

本発明は、プログラムに組み込まれたロギング関数に対応するロギング情報を採取する技術に関する。
一般に、システムに不具合が発生した場合にその不具合を調査するために、プログラムに組み込まれたロギング関数によりロギング情報を採取する技術が知られている。
例えば、プログラム中に予め組み込まれたロギング関数がプログラムの実行過程において実行されると、コンピュータが、この実行されたロギング関数において対応付けられたロギング情報をメモリ等の記憶部に記憶する。これにより、システムに障害が発生した場合に、システム管理者が、記憶部に記憶されたロギング情報に基づき不具合調査を行なうことが可能となる。
また、例えば、トレース情報を呼び出すためのトレース関数がプログラム中の各トレースポイントに組み込まれ、各トレース関数の箇所を特定するためのユニークな情報であるトレースポイント情報が各トレース関数に埋め込まれることが知られている。この技術では、プログラム走行トレース取得装置が、プログラムの実行過程において実行されたトレース関数を取得し、操作者が指定したトレースポイント情報が埋め込まれたトレース関数に対応するトレース情報を選択的に採取してメモリ等の記憶部に記憶している。これにより、操作者が障害原因究明に必要と考えるトレース情報だけを確実に操作者に提示している。
特開平11−161515号公報
しかしながら、上記の技術では、トレース情報が採取対象であるか否かの選択を指示するためにユニークな情報を管理する必要があることから、膨大な数のユニークな情報を管理するのが非常に困難である。
そのため、上記の技術は、個人や比較的小規模のプロジェクトに適用する際には問題とはならないが、大規模なプロジェクトやオープンソース等に適用する際には、膨大な数のトレース関数毎にトレース情報が採取対象であるか否かの選択を指示するのが非常に困難である。
本発明は、このような課題に鑑み創案されたもので、膨大な数のロギング関数がプログラム中に存在する場合であっても、これらのロギング関数を特定するための膨大な数のユニークな情報を別途管理することなく、ロギング採取処理を呼び出しているロギング関数を容易に特定することを目的とする。
上記目的を達成するために、開示のロギング情報採取装置は、プログラムに組み込まれたロギング関数に対応するロギング情報を採取するロギング情報採取装置であって、該ロギング関数を特定するための特定情報に関する制御情報を登録する制御テーブルと、該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた該特定情報を取得する取得部と、該制御テーブルに登録された該制御情報と該取得部により取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断部と、該判断部により採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御部とをそなえ、該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されている。
また、開示のロギング情報採取方法は、プログラムに組み込まれたロギング関数に対応するロギング情報を採取するロギング情報採取方法であって、該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた特定情報を取得する取得ステップと、制御テーブルに登録された該特定情報に関する制御情報と該取得ステップにおいて取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断ステップと、該判断ステップにおいて採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御ステップとをそなえ、該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されている。
さらに、開示のロギング情報採取プログラムは、プログラムに組み込まれたロギング関数に対応するロギング情報を採取する機能をコンピュータに実行させるためのロギング情報採取プログラムであって、該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた該特定情報を取得する取得部と、制御テーブルに登録された該特定情報に関する制御情報と該取得部により取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断部と、該判断部により採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御部として、該コンピュータを機能させるとともに、該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されている。
開示の技術によれば、膨大な数のロギング関数がプログラム中に存在する場合であっても、これらのロギング関数を特定するための膨大な数のユニークな情報を別途管理することなく、プログラム中のロギング関数を容易に特定することができる。
以下、図面を参照しながら本発明の実施の形態について説明する。
〔1〕本発明の一実施形態の説明
図1は本発明の一実施形態としてのロギング情報採取装置10の構成例を模式的に示す図である。図2はそのロギング情報採取装置10で用いられるロギング関数L’の記述例を示す図である。
本実施形態に係るロギング情報採取装置10は、プログラムPに組み込まれたロギング関数(ロギング制御関数)Lに対応するロギング情報(図示省略)を採取するものである。このロギング情報採取装置10は、例えば、プログラムPの実行過程においてロギング関数Lが実行される都度、後述するロギング採取処理を明示的に呼び出すようになっている。
ここで、プログラムPは、ロギング情報採取装置10内で所定の業務を行なうためのプログラムコードであって、例えば、図1に示すように、ファイルAおよびファイルBを有する。又、ファイルAは、関数aおよび関数bを有し、ファイルBは、関数cを有する。
また、プログラムPには、ロギング関数Lが組み込まれている。図1に示す例では、ロギング関数L1が関数aに、ロギング関数L2が関数bに、ロギング関数L3およびロギング関数L4が関数cに、それぞれ組み込まれている。
なお、以下、ロギング関数を示す符号としては、複数のロギング関数のうち1つを特定する必要があるときは符号L1〜L4を用いるが、任意のロギング関数を指すときには符号Lを用いる。
ロギング関数Lは、後述するロギング採取処理を呼び出すためのLOG関数であって、特定情報およびメッセージ(message)が埋め込まれて構成されている。
特定情報は、プログラムPにおいてロギング関数Lを特定するためのものであって、プログラムにおけるロギング関数Lの位置情報をそなえて構成されている。本実施形態においては、特定情報は、第一引数,第二引数および第三引数を有する。従って、本実施形態におけるロギング関数Lは、例えば、LOG(第一引数,第二引数,第三引数,メッセージ)と表わされる。
第一引数は、プログラムPにおいてロギング関数Lが組み込まれているファイルのファイル名を示すものである。
図1に示す例では、ロギング関数L1がファイルAに組み込まれているので、ロギング関数L1の第一引数は、ファイルAのファイル名“A”を示している。以下同様に、ロギング関数L2の第一引数は、ファイルAのファイル名“A”を、ロギング関数L3およびロギング関数L4の第一引数は、ファイルBのファイル名“B”を、それぞれ示している。
第二引数は、ファイルにおいてロギング関数Lが組み込まれている関数の関数名を示すものである。
図1に示す例では、ロギング関数L1が関数aに組み込まれているので、ロギング関数L1の第二引数は、関数aの関数名“a”を示している。以下同様に、ロギング関数L2の第二引数は、関数bの関数名“b”を、ロギング関数L3およびロギング関数L4の第二引数は、関数cの関数名“c”を、それぞれ示している。
第三引数は、関数におけるロギング関数Lの行番号を示すものである。
図1に示す例では、ロギング関数L1が関数aのx行目に組み込まれているので、ロギング関数L1の第三引数は、関数aにおけるロギング関数L1の行番号“x”を示している。以下同様に、ロギング関数L2の第三引数は、関数bにおけるロギング関数L2の行番号“y”を、ロギング関数L3の第三引数は、関数cにおけるロギング関数L3の行番号“m”を、それぞれ示している。又、ロギング関数L4の第三引数は、関数cにおけるロギング関数L4の行番号“n”を示している。
メッセージは、ロギング情報を生成する際に用いられる情報であって、例えば、プログラム作成者により任意の値や文字列が記述されている。
図1に示す例では、ロギング関数L1には、メッセージ“message 1”が組み込まれている。以下同様に、ロギング関数L2には、メッセージ“message 2”が、ロギング関数L3には、メッセージ“message 3”が、ロギング関数L4には、メッセージ“message 4”が、それぞれ組み込まれている。
なお、ロギング関数Lについては、プログラム作成者がプログラム作成時に抽象的な名称を記述するようになっている。
例えば、図2に示すようなGNU(GNU is Not Unix)コンパイラによりコンパイル可能な抽象的な名称で記述されたロギング関数L’がプログラムP中に組み込まれた場合には、GNUコンパイラのツールが、コンパイル時に、ロギング関数L’におけるファイル名,関数名,行番号等の抽象的な名称を具体的な値を示すロギング関数Lに置き換えてから自動的にコード生成を行なうようになっている。
ロギング情報管理装置10は、図1に示すように、ロギング制御テーブル(制御テーブル)11,処理部12およびロギング領域(記憶部)13をそなえたコンピュータとして構成されている。
図3は本発明の一実施形態としてのロギング情報採取装置10におけるロギング制御テーブル11の構成例を模式的に示す図である。
ロギング制御テーブル11は、後述するコンソール20(図1参照)からの指示により、採取対象となるロギング情報のロギング箇所を示す制御情報を登録(記憶)しておくテーブルであって、例えば、メモリ等の記憶装置により実現される。このロギング制御テーブル11は、採取対象となるロギング情報に対応する特定情報と一致する制御情報を階層構造で登録するようになっている。即ち、ロギング制御テーブル11は、特定情報に関する制御情報を登録するといえる。
具体的には、ロギング制御テーブル11は、採取対象となるロギング情報に対応するロギング関数に埋め込まれた第一引数,第二引数および第三引数をそれぞれ示す第一制御情報,第二制御情報および第三制御情報を、第一制御情報(上位層)から第三制御情報(下位層)にかけて階層的に関連付けたツリー構造で登録する。従って、本実施形態においては、第一制御情報が、第一引数と同様にファイル名を示し、第二制御情報が、第二引数と同様に関数名を示し、第三制御情報が、第三引数と同様に行番号を示すのである。即ち、ロギング制御テーブル11は、ファイル名(第一制御情報),関数名(第二制御情報)および行番号(第三制御情報)で区分されたツリー構造を登録するのである。
図3に示す例では、ロギング制御テーブル11は、第一制御情報としてファイル名“A”を、第二制御情報として関数名“a”を、第三制御情報として行番号“x”を、第一制御情報から第三制御情報にかけてのツリー構造で登録する。これにより、ロギング関数L1に対応するロギング情報が採取対象としてロギング制御テーブル11に登録されるのである。
また、ロギング制御テーブル11は、第一制御情報としてファイル名“B”を、第二制御情報として関数名“c”を、第三制御情報として行番号“m”および行番号“n”を、第一制御情報から第三制御情報にかけてのツリー構造で登録する。これにより、ロギング関数L3に対応するロギング情報およびロギング関数L4に対応するロギング情報が採取対象としてロギング制御テーブル11に登録されるのである。
処理部12は、ロギング情報採取装置10においてロギング採取処理を実行するものであって、CPU(Central Processing Unit)等の処理装置により実現される。この処理部12は、例えば、取得部14,判断部15,生成部16,記憶制御部17,コマンド解析部18および更新部19として機能するようになっている。
取得部14は、プログラムPの実行過程においてロギング関数Lが実行される都度、この実行されたロギング関数Lを取得するものである。
具体的には、プログラムPの実行過程においてロギング関数Lが実行されると、ロギング採取処理が呼び出される。そして、取得部14は、実行されたロギング関数Lを取得するとともに、このロギング関数Lに埋め込まれた特定情報(第一引数,第二引数および第三引数)を取得する、即ち、ロギング関数Lから特定情報を渡されるようになっている。
判断部15は、ロギング制御テーブル11に登録された制御情報と取得部14により取得した特定情報とに基づいて、この特定情報に対応するロギング情報が採取対象であるか否かを判断するものである(ロギング制御処理)。
具体的には、判断部15は、取得部14により第一引数,第二引数および第三引数が取得されると、ロギング制御テーブル11を、テーブルのトップ(最上位層;図3参照)からツリー構造を下位層に向けてたどって第一制御情報(ファイル名),第二制御情報(関数名)および第三制御情報(行番号)の順でサーチする。そして、判断部15は、以下の(1)〜(3)の全ての条件を満たした場合に、取得部14により取得したロギング関数Lに対応するロギング情報が採取対象であると判断する。
(1)取得部14により取得した第一引数がロギング制御テーブル11に登録されたいずれかの第一制御情報と一致した場合。
(2)取得部14により取得した第二引数がロギング制御テーブル11に登録されたいずれかの第二制御情報と一致した場合。
(3)取得部14により取得した第三引数がロギング制御テーブル11に登録されたいずれかの第三制御情報と一致した場合。
従って、判断部15は、取得部14により取得した特定情報が、ロギング制御テーブル11に登録された制御情報に含まれる場合に、取得した特定情報に対応するロギング情報が採取対象であると判断するのである。
本実施形態においては、取得部14がロギング関数L1の第一引数“A”,第二引数“a”および第三引数“x”を取得すると、判断部15は、取得部14で取得された全ての引数がロギング制御テーブル11に登録されているので、ロギング関数L1に対応するロギング情報が採取対象であると判断する。
また、取得部14がロギング関数L2の第一引数“A”,第二引数“b”および第三引数“y”を取得すると、判断部15は、第二引数“b”および第三引数“y”がロギング制御テーブル11に登録されていないので、ロギング関数L1に対応するロギング情報が採取対象ではないと判断する。
さらに、取得部14がロギング関数L3の第一引数“B”,第二引数“c”および第三引数“m”を取得すると、判断部15は、取得部14で取得された全ての引数がロギング制御テーブル11に登録されているので、ロギング関数L3に対応するロギング情報が採取対象であると判断する。
また、取得部14がロギング関数L4の第一引数“B”,第二引数“c”および第三引数“n”を取得すると、判断部15は、取得部14で取得された全ての引数がロギング制御テーブル11に登録されているので、ロギング関数L4に対応するロギング情報が採取対象であると判断する。
生成部16は、取得部14で取得したロギング関数Lに基づいて、判断部15により採取対象であると判断されたロギング情報を生成するものである。即ち、生成部16は、取得部14で取得したロギング関数Lに対応するロギング情報のうち、判断部15により採取対象であると判断されたロギング情報を生成するのである。例えば、ロギング情報は、ロギング関数Lに埋め込まれたメッセージをそなえるとともに、必要に応じて特定情報をそなえている。なお、ロギング情報の生成については、既知の種々の手法を用いることができる。
記憶制御部17は、判断部15により採取対象であると判断されたロギング情報を後述するロギング領域に記憶させる制御を行なうものである。本実施形態においては、記憶制御部17は、生成部16で生成されたロギング情報を後述するロギング領域13に記憶させる制御を行なうようになっている。
図4は本発明の一実施形態としてのロギング情報採取装置10に対する指示情報の入力例を示す図である。
コマンド解析部18は、外部にあるコンソール20から送信された指示情報(コマンド)を解析(コマンド解析)することにより、テーブル更新関数を生成するものである。
テーブル更新関数は、ロギング制御テーブル11の更新処理を実行するための関数である。ここで、更新処理とは、ロギング制御テーブル11における制御情報の追加(エントリの追加)や削除(エントリの削除)の処理である。
例えば、オペレータは、ロギング関数L1のロギング開始を指示する場合には、図4に示すように、ロギング開始指示を示す情報“log on”とともに、ファイル名“A”,関数名“a”および行番号“x”を指示情報としてコンソール20に入力する。そして、コマンド解析部18は、コンソール20に入力された指示情報を受信すると、この受信した指示情報に基づいて、ロギング関数L1に対応するロギング情報を採取対象とするためのテーブル更新関数を生成する。具体的には、コマンド解析部18は、第一制御情報〜第三制御情報を含むロギング開始指示用のテーブル更新関数を生成する。ここで、第一制御情報は、ロギング関数L1に埋め込まれた第一引数と一致する情報、即ち、ファイル名“A”である。又、第二制御情報は、ロギング関数L1に埋め込まれた第二引数と一致する情報、即ち、関数名“a”である。更に、第三制御情報は、ロギング関数L1に埋め込まれた第三引数と一致する情報、即ち、行番号“x”である。
なお、ロギング関数L3,L4のロギング開始を指示する場合についても、上述したロギング関数L1のロギング開始を指示する場合と同様である(図4参照)。
また、例えば、オペレータは、ロギング関数L2のロギング終了を指示する場合には、図4に示すように、ロギング終了指示を示す情報“log off”とともに、ファイル名“A”,関数名“b”および行番号“y”を指示情報としてコンソール20に入力する。そして、コマンド解析部18は、コンソール20に入力された指示情報を受信すると、この受信した指示情報に基づいて、ロギング関数L2に対応するロギング情報を採取対象から除外するためのテーブル更新関数を生成する。具体的には、コマンド解析部18は、ロギング関数L2に埋め込まれた第一引数〜第三引数とそれぞれ一致する第一制御情報〜第三制御情報を含むロギング終了指示用のテーブル更新関数を生成する。ここで、第一制御情報は、ロギング関数L2に埋め込まれた第一引数と一致する情報、即ち、ファイル名“A”である。又、第二制御情報は、ロギング関数L2に埋め込まれた第二引数と一致する情報、即ち、関数名“b”である。更に、第三制御情報は、ロギング関数L2に埋め込まれた第三引数と一致する情報、即ち、行番号“y”である。
更新部19は、コマンド解析部18で生成されたテーブル更新関数を用いて、ロギング制御テーブル11の更新処理を実行するものである。
具体的には、更新部19は、コマンド解析部18でロギング開始指示用のテーブル更新関数が生成されると、このテーブル更新関数に含まれる第一制御情報〜第三制御情報をロギング制御テーブル11に追加する処理を更新処理として実行するようになっている。 一方、更新部19は、コマンド解析部18でロギング終了指示用のテーブル更新関数が生成されると、このテーブル更新関数に含まれる第一制御情報〜第三制御情報をロギング制御テーブル11から削除する処理を更新処理として実行するようになっている。
なお、更新部19は、ロギング開始指示用のテーブル更新関数に含まれる第一制御情報〜第三制御情報が既にロギング制御テーブル11に登録されている場合には、更新処理を実行せずに、その旨の通知をコンソール20に返信するようになっている。又、更新部19は、ロギング終了指示用のテーブル更新関数に含まれる第一制御情報〜第三制御情報がロギング制御テーブル11に登録されていない場合にも、更新処理を実行せずに、その旨の通知をコンソール20に返信するようになっている。
ロギング領域13は、記憶制御部17の制御により、ロギング情報を記憶するものであり、メモリ等の記憶装置により実現される。
上述の如く構成された本発明の一実施形態に係るロギング情報採取装置10に用いられるプログラムPの作成手順の一例について、図5に示すフローチャートに従って説明する。
プログラム作成者は、プログラムPを作成する(ステップA11)。この場合において、プログラム作成者は、プログラムP中の任意の箇所(呼出し箇所)に、GNUコンパイラによりコンパイル可能な抽象的な名称で記述されたロギング関数L’、ここでは、“LOG(_FILE_, _FUNCTION_, _LINE_, message 1)”を組み込む。
そして、コンピュータ(図示省略)は、プログラムPのコンパイルを実行することにより、ロギング関数L’に埋め込まれた抽象的な名称を具体的な値、例えば、ロギング関数L1の場合には、“LOG(A, a, x, message 1)”に置き換えて、実行形式のコードを生成する(ステップA12)。
コンパイルが実行されたプログラムPが外部記録媒体21(図1参照)に格納された後に、ロギング情報採取装置10が、外部記録媒体21に格納されたプログラムPの実行を開始して(ステップA13)、処理を終了する。
次に、上述の如く構成された本発明の一実施形態に係るロギング情報採取装置10においてロギング開始の指示を行なう手順の一例について、図6に示すフローチャートに従って説明する。
先ず、オペレータは、コンソール20等を用いて、採取対象にしたいプログラムPにおけるロギング箇所、つまりファイル名,関数名および行番号を求める(ステップB11)。
オペレータは、採取対象にしたいロギング関数Lのロギング開始指示をコンソール20に入力する(ステップB12)。
その後、プログラムPの実行過程においてロギング関数Lが実行される都度、ロギング採取処理が呼び出され、処理部12は、採取対象にしたロギング関数Lに対応するロギング情報をロギング領域13に順次記憶する。オペレータは、ロギング領域13に記憶されたロギング情報を取り出して、障害調査等に活用して(ステップB13)、処理を終了する。
次に、上述の如く構成された本発明の一実施形態に係るロギング情報採取装置10においてロギング情報を採取する動作の一例について、図7および図8に示すフローチャートに従って説明する。
プログラムPの実行過程において実行されたロギング関数Lがロギング採取処理を呼び出すと、取得部14は、ロギング採取処理を呼び出したロギング関数Lに埋め込まれた第一引数(ファイル名),第二引数(関数名)および第三引数(行番号)を取得する。
判断部15は、ロギング制御テーブル11に登録された第一制御情報の中から一の第一制御情報、図3に示す例では、ファイル名“A”を選択し、この選択した一の第一制御情報と取得部14で取得した第一引数とを比較する(ステップC11)。
判断部15は、取得部14で取得した第一引数と選択した一の第一制御情報とが一致するか否かを判断する(ステップC12)。
判断の結果、一致する場合には(ステップC12の“YES”ルート参照)、判断部15は、ロギング制御テーブル11に登録された第二制御情報のうちの第一引数と一致した第一制御情報の配下の第二制御情報の中から一の第二制御情報、図3に示す例では、ファイル名“A”の配下の関数名“a”を選択し、この選択した一の第二制御情報と取得部14で取得した第二引数とを比較する(ステップC13)。
判断部15は、取得部14で取得した第二引数と選択した一の第二制御情報とが一致するか否かを判断する(ステップC14)。
判断の結果、一致する場合には(ステップC14の“YES”ルート参照)、図8のフローに移行する(図7の符号“1”参照)。
一方、第二引数と一の第二制御情報とが一致しない場合には(ステップC14の“NO”ルート参照)、判断部15は、ロギング制御テーブル11に次に登録されている第二制御情報、例えば、ファイル名“A”の配下の関数名のうちの関数名“a”以外の関数名であって判断部15により選択されていないものがあるか否かをチェックする(ステップC15)。
チェックの結果、次に登録されている関数名がある場合には(ステップC16の“YES”ルート参照)、判断部15は、次に登録されている一の関数名を選択し、ステップC13に戻る。
一方、次に登録されている関数名がない場合には(ステップC16の“NO”ルート参照)、処理部12は、ロギング情報の採取を行わずにロギング採取処理を終了する。そして、処理部12は、プログラムPの実行過程を復帰させる復帰処理を実行し、処理を終了する。
また、取得部14で取得した第一引数と選択された一の第一制御情報とが一致しない場合には(ステップC12の“NO”ルート参照)、判断部15は、ロギング制御テーブル11に次に登録されている第一制御情報、図3に示す例では、ファイル名“A”以外のファイル名“B”であって判断部15により選択されていないものがあるか否かをチェックする(ステップC17)。
チェックの結果、次に登録されているファイル名がある場合には(ステップC18の“YES”ルート参照)、判断部15は、次に登録されている一のファイル名を選択し、ステップC11に戻る。
一方、次に登録されているファイル名がない場合には(ステップC18の“NO”ルート参照)、処理部12は、ロギング情報の採取を行わずにロギング採取処理を終了する。そして、処理部12は、プログラムPの実行過程を復帰させる復帰処理を実行し、処理を終了する。
そして、図7のステップC14において、取得部14で取得した第二引数と選択された一の第二制御情報とが一致する場合には(ステップC14の“YES”ルート参照)、図8のフローに移行し、判断部15は、ロギング制御テーブル11に登録された第三制御情報のうちの第二引数と一致した第二制御情報の配下の第三制御情報の中から一の第三制御情報、図3に示す例では、関数名“a”の配下の行番号“x”を選択し、この選択した一の第三制御情報と取得部14で取得した第三引数とを比較する(ステップC19)。
判断部15は、取得部14で取得した第三引数と選択した一の第三制御情報とが一致するか否かを判断する(ステップC20)。
判断の結果、一致する場合には(ステップC20の“YES”ルート参照)、判断部15は、取得部14で取得したロギング関数Lに対応するロギング情報が採取対象であると判断する。そして、生成部16がロギング情報を生成した後に、記憶制御部16が生成部16で生成したロギング情報をロギング領域に書き込んで(ステップC21)、処理を終了する。
一方、第三引数と一の第三制御情報とが一致しない場合には(ステップC20の“NO”ルート参照)、判断部15は、ロギング制御テーブル11に次に登録されている第三制御情報、例えば、関数名“a”の配下の行番号のうちの行番号“x”以外の行番号であって判断部15により選択されていないものがあるか否かをチェックする(ステップC22)。
チェックの結果、次に登録されている行番号がある場合には(ステップC23の“YES”ルート参照)、判断部15は、次に登録されている一の行番号を選択し、ステップC19に戻る。
一方、次に登録されている行番号がない場合には(ステップC23の“NO”ルート参照)、処理部12は、ロギング情報の採取を行わずにロギング採取処理を終了する。そして、処理部12は、プログラムPの実行過程を復帰させる復帰処理を実行し、処理を終了する。
次に、上述の如く構成された本発明の一実施形態に係るロギング情報採取装置10においてロギング制御テーブル11を更新する動作の一例について、図9に示すフローチャートに従って説明する。
コマンド解析部18は、オペレータからの指示情報の受信を待つ(ステップD11)。オペレータにより指示情報がコンソール20に入力されると、コマンド解析部18は、コンソール20から指示情報を受信する。コマンド解析部18は、コンソール20から受信した指示情報を解析することにより、テーブル更新関数を生成する(ステップD12)。
更新部19は、コマンド解析部18でテーブル更新関数が生成されると、このテーブル更新関数がロギング開始指示用のテーブル更新関数であるかロギング終了指示用のテーブル更新関数であるかを判定する(ステップD13)。
判定の結果、ロギング開始指示用のテーブル更新関数である場合には(ステップD13の“YES”ルート参照)、更新部19は、ロギング開始指示用のテーブル更新関数に含まれる第一制御情報〜第三制御情報が既にロギング制御テーブル11に登録されているか否かをチェックする(ステップD14)。
チェックの結果、ロギング制御テーブル11に登録されていない場合には(ステップD15の“NO”ルート参照)、更新部19は、テーブル更新関数に含まれる第一制御情報〜第三制御情報をロギング制御テーブル11に追加する処理を実行する(ステップD16)。更新部19は、ロギング制御テーブル11に追加した旨の通知をコンソール20に返信し(ステップD17)、ステップD11に戻る。
一方、ロギング開始指示を示すテーブル更新関数に含まれる第一制御情報〜第三制御情報が既にロギング制御テーブル11に登録されている場合には(ステップD15の“YES”ルート参照)、更新部19は、更新処理を実行せずに、その旨の通知をコンソール20に返信し(ステップD18)、ステップD11に戻る。
また、判定の結果、ロギング終了指示用のテーブル更新関数である場合には(ステップD13の“NO”ルート参照)、更新部19は、ロギング終了指示用のテーブル更新関数に含まれる第一制御情報〜第三制御情報がロギング制御テーブル11に登録されているか否かをチェックする(ステップD19)。
チェックの結果、ロギング制御テーブル11に登録されている場合には(ステップD20の“YES”ルート参照)、更新部19は、テーブル更新関数に含まれる第一制御情報〜第三制御情報をロギング制御テーブル11から削除する処理を実行する(ステップD21)。更新部19は、ロギング制御テーブル11から削除した旨の通知をコンソール20に返信し(ステップD22)、ステップD11に戻る。
一方、ロギング終了指示用のテーブル更新関数に含まれる第一制御情報〜第三制御情報がロギング制御テーブル11に登録されていない場合には(ステップD20の“NO”ルート参照)、更新処理を実行せずに、その旨の通知をコンソール20に返信し(ステップD18)、ステップD11に戻る。
このように、本発明の一実施形態としてのロギング情報採取装置10によれば、ユニークな情報をロギング関数Lに埋め込むのではなく、プログラムPにおける自己の位置情報を示すファイル名(第一引数),関数名(第二引数),行番号(第三引数)をロギング関数Lに埋め込む。この場合において、プログラム作成者は、プログラムP中の任意の箇所に、GNUコンパイラによりコンパイル可能な抽象的な文字列で記述されたロギング関数L’を組み込むことができる。そのため、プログラム作成者は、プログラムPの作成過程においてプログラムP中のロギング関数L’の位置を移動させた場合であっても、ロギング関数L’に埋め込まれた引数の値を変更する必要がなくなる。従って、プログラム作成者は、具体的な値を意識することなく、抽象的な名称で記述されたロギング関数L’をプログラムPに容易に組み込むことができる。
また、ロギング関数LにプログラムPにおける自己の位置情報を示すファイル名(第一引数),関数名(第二引数),行番号(第三引数)を埋め込むことにより、大規模なプロジェクトやオープンソース等のように、膨大な数のロギング関数LがプログラムP中に存在する場合であっても、これらのロギング関数Lを特定するための膨大な数のユニークな情報を別途管理することなく、プログラムP中のロギング関数Lを容易に特定することができる。従って、ロギング採取処理を呼び出している個々のロギング関数L毎にそのロギング関数Lに対応するロギング情報を採取するか採取しないかの選択を動的に指示する場合において、ロギング採取処理を呼び出しているロギング関数Lを容易に特定し、必要なロギング情報のみを選択して採取することが可能となる。そのため、不具合調査等の早期解決を図ることができる。
〔2〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記実施形態では、GNUコンパイラによりコンパイル可能な抽象的な名称でロギング関数L’を記述した場合を例に説明している。しかしながら、それに限定されるものではなく、既知の種々のコンパイラによりコンパイル可能な抽象的な文字列でロギング関数を記述してもよく、又、具体的な位置情報をロギング関数に埋め込んでもよい。
また、上記実施形態では、ロギング関数Lの引数として用いられる位置情報がファイル名,関数名および行番号で構成された場合を例に説明している。しかしながら、それに限定されるものではなく、例えば、プログラムP中にファイルや関数が規定されていない場合には、位置情報が、プログラムPにおけるロギング関数Lの行番号で構成されてもよい。又、プログラムP中に関数が規定されていない場合には、位置情報が、プログラムPにおいてロギング関数Lが組み込まれているファイルのファイル名と、ファイルにおけるロギング関数Lの行番号とで構成されてもよい。
さらに、上記実施形態では、生成部16が、判断部15により採取対象であると判断されたロギング情報を生成する場合を例に説明している。しかしながら、それに限定されるものではなく、生成部16が、取得部14により取得した全てのロギング関数Lに対応するロギング情報を生成してもよい。この場合には、記憶制御部17は、生成部16で生成されたロギング情報のうち、判断部15により採取対象であると判断されたロギング情報を選択してロギング領域13に記憶させるようになっている。
また、上記実施形態では、ロギング開始指示を示す情報“log on”やロギング終了指示を示す情報“log off”とともに、ファイル名,関数名および行番号を指示情報としてコンソール20に入力する場合を例に説明している。しかしながら、それに限定されるものではなく、例えば、GUI(Graphical User Interface)を用いて指示情報を入力してもよい。
そして、処理部12が、ロギング情報採取プログラムを実行することにより、これらの取得部14,判断部15,生成部16,記憶制御部17,コマンド解析部18および更新部19として機能するようになっている。
なお、これらの取得部14,判断部15,生成部16,記憶制御部17,コマンド解析部18および更新部19としての機能を実現するためのロギング情報採取プログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD−DVD,ブルーレイディスク等),磁気ディスク,光ディスク,光磁気ディスク,半導体記憶装置等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク,半導体記憶装置等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
取得部14,判断部15,生成部16,記憶制御部17,コマンド解析部18および更新部19としての機能を実現する際には、内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサによって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、ロギング情報採取装置10がコンピュータとしての機能を有しているのである。
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク,CD,DVD,磁気ディスク,光ディスク,光磁気ディスク,半導体記憶装置のほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
〔3〕付記
(付記1) プログラムに組み込まれたロギング関数に対応するロギング情報を採取するロギング情報採取装置であって、
該ロギング関数を特定するための特定情報に関する制御情報を登録する制御テーブルと、
該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた該特定情報を取得する取得部と、
該制御テーブルに登録された該制御情報と該取得部により取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断部と、
該判断部により採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御部とをそなえ、
該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されることを特徴とする、ロギング情報採取装置。
(付記2) 該位置情報は、該プログラムにおける該ロギング関数の行番号で構成されることを特徴とする、付記1に記載のロギング情報採取装置。
(付記3) 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおける該ロギング関数の行番号とで構成されることを特徴とする、付記1に記載のロギング情報採取装置。
(付記4) 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおいて該ロギング関数が組み込まれている関数の関数名と、該関数における該ロギング関数の行番号とで構成されることを特徴とする、付記1に記載のロギング情報採取装置。
(付記5) 該判断部は、該取得部により取得した該特定情報が、該制御テーブルに登録された該制御情報に含まれる場合に、当該特定情報に対応する該ロギング情報が採取対象であると判断することを特徴とする、付記1〜4のいずれか1項に記載のロギング情報採取装置。
(付記6) 該制御テーブルの更新処理を実行する更新部をそなえることを特徴とする、付記1〜5のいずれか1項に記載のロギング情報採取装置。
(付記7) プログラムに組み込まれたロギング関数に対応するロギング情報を採取するロギング情報採取方法であって、
該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた特定情報を取得する取得ステップと、
制御テーブルに登録された該特定情報に関する制御情報と該取得ステップにおいて取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断ステップと、
該判断ステップにおいて採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御ステップとをそなえ、
該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されることを特徴とする、ロギング情報採取方法。
(付記8) 該位置情報は、該プログラムにおける該ロギング関数の行番号で構成されることを特徴とする、付記7に記載のロギング情報採取方法。
(付記9) 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおける該ロギング関数の行番号とで構成されることを特徴とする、付記7に記載のロギング情報採取方法。
(付記10) 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおける該ロギング関数が組み込まれている関数の関数名と、該関数における該ロギング関数の行番号とで構成されることを特徴とする、付記7に記載のロギング情報採取方法。
(付記11) 該判断ステップにおいて、該取得ステップにおいて取得した該特定情報が、該制御テーブルに登録された該制御情報に含まれる場合に、当該特定情報に対応する該ロギング情報が採取対象であると判断することを特徴とする、付記7〜10のいずれか1項に記載のロギング情報採取方法。
(付記12) 該制御テーブルの更新処理を実行する更新ステップをそなえることを特徴とする、付記7〜11のいずれか1項に記載のロギング情報採取方法。
(付記13) プログラムに組み込まれたロギング関数に対応するロギング情報を採取する機能をコンピュータに実行させるためのロギング情報採取プログラムであって、
該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた該特定情報を取得する取得部と、
制御テーブルに登録された該特定情報に関する制御情報と該取得部により取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断部と、
該判断部により採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御部として、該コンピュータを機能させるとともに、
該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されることを特徴とする、ロギング情報採取プログラム。
(付記14) 該位置情報は、該プログラムにおける該ロギング関数の行番号で構成されることを特徴とする、付記13に記載のロギング情報採取プログラム。
(付記15) 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおける該ロギング関数の行番号とで構成されることを特徴とする、付記13に記載のロギング情報採取プログラム。
(付記16) 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおいて該ロギング関数が組み込まれている関数の関数名と、該関数における該ロギング関数の行番号とで構成されることを特徴とする、付記13に記載のロギング情報採取プログラム。
(付記17) 該判断部は、該取得部により取得した該特定情報が、該制御テーブルに登録された該制御情報に含まれる場合に、当該特定情報に対応する該ロギング情報が採取対象であると判断するように、該コンピュータを機能させることを特徴とする、付記13〜16のいずれか1項に記載のロギング情報採取プログラム。
(付記18) 該制御テーブルの更新処理を実行する更新部として、該コンピュータを機能させることを特徴とする、付記13〜17のいずれか1項に記載のロギング情報採取プログラム。
本発明の一実施形態としてのロギング情報採取装置の構成例を模式的に示す図である。 本発明の一実施形態としてのロギング情報採取装置で用いられるロギング関数Lの記述例を示す図である。 本発明の一実施形態としてのロギング情報採取装置におけるロギング制御テーブルの構成例を模式的に示す図である。 本発明の一実施形態としてのロギング情報採取装置に対する指示情報の入力例を示す図である。 本発明の一実施形態に係るロギング情報採取装置に用いられるプログラムの作成手順の一例を示すフローチャートである。 本発明の一実施形態に係るロギング情報採取装置においてロギング開始の指示を行なう手順の一例を示すフローチャートである。 本発明の一実施形態に係るロギング情報採取装置においてロギング情報を採取する動作の一例を示すフローチャートである。 本発明の一実施形態に係るロギング情報採取装置においてロギング情報を採取する動作の一例を示すフローチャートである。 本発明の一実施形態に係るロギング情報採取装置においてロギング制御テーブルを更新する動作の一例を示すフローチャートである。
符号の説明
10 ロギング情報採取装置
11 ロギング制御テーブル(制御テーブル)
12 処理部
13 ロギング領域(記憶部)
14 取得部
15 判断部
16 生成部
17 記憶制御部
18 コマンド解析部
19 更新部
20 コンソール
21 外部記憶媒体
L,L1〜L4 ロギング関数

Claims (10)

  1. プログラムに組み込まれたロギング関数に対応するロギング情報を採取するロギング情報採取装置であって、
    該ロギング関数を特定するための特定情報に関する制御情報を登録する制御テーブルと、
    該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた該特定情報を取得する取得部と、
    該制御テーブルに登録された該制御情報と該取得部により取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断部と、
    該判断部により採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御部とをそなえ、
    該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されることを特徴とする、ロギング情報採取装置。
  2. 該位置情報は、該プログラムにおける該ロギング関数の行番号で構成されることを特徴とする、請求項1に記載のロギング情報採取装置。
  3. 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおける該ロギング関数の行番号とで構成されることを特徴とする、請求項1に記載のロギング情報採取装置。
  4. 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおいて該ロギング関数が組み込まれている関数の関数名と、該関数における該ロギング関数の行番号とで構成されることを特徴とする、請求項1に記載のロギング情報採取装置。
  5. 該判断部は、該取得部により取得した該特定情報が、該制御テーブルに登録された該制御情報に含まれる場合に、当該特定情報に対応する該ロギング情報が採取対象であると判断することを特徴とする、請求項1〜4のいずれか1項に記載のロギング情報採取装置。
  6. 該制御テーブルの更新処理を実行する更新部をそなえることを特徴とする、請求項1〜5のいずれか1項に記載のロギング情報採取装置。
  7. プログラムに組み込まれたロギング関数に対応するロギング情報を採取するロギング情報採取方法であって、
    該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた特定情報を取得する取得ステップと、
    制御テーブルに登録された該特定情報に関する制御情報と該取得ステップにおいて取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断ステップと、
    該判断ステップにおいて採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御ステップとをそなえ、
    該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されることを特徴とする、ロギング情報採取方法。
  8. 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおける該ロギング関数の行番号とで構成されることを特徴とする、請求項7に記載のロギング情報採取方法。
  9. プログラムに組み込まれたロギング関数に対応するロギング情報を採取する機能をコンピュータに実行させるためのロギング情報採取プログラムであって、
    該ロギング関数が実行される都度、当該ロギング関数に埋め込まれた該特定情報を取得する取得部と、
    制御テーブルに登録された該特定情報に関する制御情報と該取得部により取得した該特定情報とに基づいて、当該特定情報に対応する該ロギング情報が採取対象であるかを判断する判断部と、
    該判断部により採取対象であると判断された該ロギング情報を記憶部に記憶させる制御を行なう記憶制御部として、該コンピュータを機能させるとともに、
    該特定情報は、該プログラムにおける該ロギング関数の位置情報をそなえて構成されることを特徴とする、ロギング情報採取プログラム。
  10. 該位置情報は、該プログラムにおいて該ロギング関数が組み込まれているファイルのファイル名と、該ファイルにおける該ロギング関数の行番号とで構成されることを特徴とする、請求項9に記載のロギング情報採取プログラム。
JP2008202496A 2008-08-06 2008-08-06 ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム Withdrawn JP2010039796A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008202496A JP2010039796A (ja) 2008-08-06 2008-08-06 ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム
US12/479,264 US20100036891A1 (en) 2008-08-06 2009-06-05 Apparatus and method for collecting logging information, and computer-readable recording medium in which a logging information collecting program is stored

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008202496A JP2010039796A (ja) 2008-08-06 2008-08-06 ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム

Publications (1)

Publication Number Publication Date
JP2010039796A true JP2010039796A (ja) 2010-02-18

Family

ID=41653888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008202496A Withdrawn JP2010039796A (ja) 2008-08-06 2008-08-06 ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム

Country Status (2)

Country Link
US (1) US20100036891A1 (ja)
JP (1) JP2010039796A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013011878A1 (en) * 2011-07-15 2013-01-24 Ricoh Company, Ltd. Embedded apparatus, program generation apparatus, and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021016067A (ja) * 2019-07-11 2021-02-12 富士ゼロックス株式会社 中継システム、中継装置及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3472026B2 (ja) * 1996-03-26 2003-12-02 富士通株式会社 ログ情報採取解析装置
US20070208784A1 (en) * 2006-03-03 2007-09-06 Beeston Ralph T Parsing computer system logging information collected by common logging
US7757129B2 (en) * 2007-03-30 2010-07-13 International Business Machines Corporation Generalized trace and log facility for first error data collection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013011878A1 (en) * 2011-07-15 2013-01-24 Ricoh Company, Ltd. Embedded apparatus, program generation apparatus, and program
JP2013041571A (ja) * 2011-07-15 2013-02-28 Ricoh Co Ltd 組み込み機器、プログラム作成装置、プログラム

Also Published As

Publication number Publication date
US20100036891A1 (en) 2010-02-11

Similar Documents

Publication Publication Date Title
US9619373B2 (en) Method and apparatus to semantically connect independent build and test processes
US8677325B2 (en) Application services source refactoring
CN110928772A (zh) 一种测试方法及装置
US20070050427A1 (en) System and method for validating application globalization issues and computer product
US7730466B2 (en) System and method for manipulating source code in a text editor
US8473903B2 (en) Code edit apparatus and recording medium
US20090217259A1 (en) Building Operating System Images Based on Applications
US9189372B2 (en) Trace coverage analysis
US9395977B2 (en) Locating program code units after software refactoring
US8429602B2 (en) Identification of user interface controls
JP4867864B2 (ja) 性能データ収集・表示システム、性能データ表示装置、そのプログラム
JP2010039796A (ja) ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム
US10884711B2 (en) Code management system and code management method using a visual programming tool
JP2011170697A (ja) ソフトウェア構造分析装置
US9600233B2 (en) Generic data model for event monitoring integration
JP6336919B2 (ja) ソースコードレビュー方法及びそのシステム
JP2005338987A (ja) 例外テスト支援プログラム及び例外テスト支援装置
JP2007065718A (ja) プログラム動作過程追跡支援表示方法及びシステム
JP4535906B2 (ja) Umlモデル作成支援方法及びその装置
JP5994693B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP7380851B2 (ja) テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
US20110113402A1 (en) Representing non-functional requirements (nfrs) in unified modeling language (uml)
CN113326193A (zh) 一种小程序测试方法及装置
JP5772233B2 (ja) プログラム実行トレース情報集約プログラム、装置、及び方法
JP4536576B2 (ja) ソフトウェアカバレッジ測定装置及び方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111101