(57)【要約】【課題】開発者やエンドユーザーがエラーの原因特定や対処を容易に行えるようにし、エラーに関する問い合わせやその応答を減らし、開発者、エンドユーザー、ＳＤＫの提供者にとってエラー原因特定や対処に要する手間を軽減する。【解決手段】情報処理装置は、アプリケーションでなされた処理の実行結果を示し、文字列からなるログとログの複数の記述パターンを定めるとともに各記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶する記憶部と、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して定義データにおける記述パターンを定める解析処理部と、定義データと解析処理部による記述パターンの解析結果に応じ、メッセージを報知する報知部と、を含む。【選択図】図８
2012234273.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションでなされた処理の実行結果を示し、文字列からなるログと、ログの複数の記述パターンを定めるとともに各前記記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶する記憶部と、
ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して前記定義データにおける前記記述パターンを定める解析処理部と、
前記定義データと前記解析処理部による前記記述パターンの解析結果に応じ、前記メッセージを報知する報知部と、を含むことを特徴とする情報処理装置。
【請求項２】
使用者の種別を受け付ける入力部を有し、
前記記憶部は、各前記記述パターンについて、前記種別ごとに表現の異なる前記メッセージを記憶し、
前記報知部は、同じ前記記述パターンでも前記種別により異なる前記メッセージを報知することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶部は、実行関数名と実行結果を示すログを記憶し、異常な関数呼び出しの繰り返しを示すログの前記記述パターンと異常な関数呼び出しの繰り返しに対する前記メッセージを前記定義データに含めて記憶することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記記憶部は、実行関数名と実行結果を示すログを記憶し、処理に失敗した関数を示すログの前記記述パターンと処理に失敗した関数に対する前記メッセージを前記定義データに含めて記憶することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記記憶部は、実行関数名と実行エラーを示すエラーコードをログとして記憶し、前記エラーコードを示すログの前記記述パターンと前記エラーコードに対するメッセージを前記定義データに含めて記憶することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
画像形成装置と、前記画像形成装置と通信を行い、処理の命令を与える情報処理装置とを含み、
前記情報処理装置は、アプリケーションでなされた処理の実行結果を示し、文字列からなるログと、ログの複数の記述パターンを定めるとともに各前記記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶する記憶部と、
ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して前記定義データにおける前記記述パターンを定める解析処理部と、
前記定義データと前記解析処理部による前記記述パターンの解析結果に応じ、前記メッセージを報知する報知部と、を含むことを特徴とするログ解析システム。
【請求項７】
アプリケーションでなされた処理の実行結果を示し、文字列からなるログを記憶し、
ログの複数の記述パターンを定めるとともに各前記記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶し、
ログの文字列に基づき、エラーを示すログを認識し、
エラーを示すログを解析して前記定義データにおける前記記述パターンを定め、
前記定義データと前記解析処理部による前記記述パターンの解析結果に応じ、前記メッセージを報知することを特徴とするログ解析方法。
【請求項８】
情報処理装置に、
アプリケーションでなされた処理の実行結果を示し、文字列からなるログを記憶させ、
ログの複数の記述パターンを定めるとともに、各前記記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶させ、
ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して前記定義データにおける前記記述パターンを定めさせ、
前記定義データと前記解析処理部による前記記述パターンの解析結果に応じ、前記メッセージを報知させることを特徴とするログ解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの処理実行に関するログを解析する情報処理装置、ログ解析システム、ログ解析方法、及び、ログ解析プログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションのログを参照、分析し、バグやエラーの原因を特定し、解消を試みることがある。このログの参照や検証の作業を人手で行うと、アプリケーションの規模やログの量が大きくなるにつれて、作業量が膨大と大きくなり、見落としや判断ミスも多くなる。そこで、特許文献１には、アプリケーションが出力するログを分析し、障害の根本的な原因を突き止めるための作業量の軽減を図るシステムが記載されている。
【０００３】
具体的に、特許文献１には、対象となるアプリケーションに処理単位毎のログ出力処理を実装するログ出力処理実装手段、ログデータを読み込み、そのログデータを分析するログ分析手段とから構成され、ログ分析手段が、処理単位毎のログデータからアプリケーションを構成する各処理単位の呼び出し関係を示すコールフローグラフを作成し、コールフローグラフ記憶手段に記憶させるコールフローグラフ作成手段、コールフローグラフを表示し、アプリケーションの障害原因の一要因となる処理単位のログデータを比較元ログデータとしてユーザ選択操作によって受け付けるコールフローグラフ表示手段と、選択された比較元ログデータの処理単位と同一処理単位を含む他の処理単位群のログデータをコールフローグラフ記憶手段から取得し、他の処理単位群のログデータを比較先ログデータリストとして生成する比較ログデータリスト生成手段と、比較元ログデータと比較先ログデータリスト内の各ログデータとを比較し、処理単位の呼び出し関係が異なるログデータを抽出して出力するログデータ比較手段を備えるアプリケーション障害原因の特定支援システムが記載されている（特許文献１：段落［０００９］等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２４１４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
まず、特許文献１記載の原因特定支援システムは、ソースコードを参照してアプリケーション障害原因を突き止める（特許文献１：段落［００２４］、［００２８］等参照）。しかし、アプリケーションの開発は、ソースコードを参照しながらできない場合がある。
【０００６】
例えば、画像形成装置などの電気、電子機器用のアプリケーションやＯＳ（Operating
System）用のアプリケーションは、ＳＤＫ（Software Development Kit）を用いて作成されることがある。ＳＤＫは、例えば、プログラム、関数などを含む開発用ツールの形態で提供される。このＳＤＫでは、ソースコードが公開されない場合がある。ソースコードが公開されないとき、ログに基づきソースコードを参照しながらエラーの原因を突き止めることができず、特許文献１記載のような原因特定支援システムの適用は難しい。
【０００７】
ソースコードが公開されないとき、アプリケーションでのエラーの原因特定や対処は難しくなることがある。そこで、ＳＤＫを用いたアプリケーションの開発者は、開発中などに生じたエラーの原因や対処法（解決方法）をＳＤＫの提供者に問い合わせる。開発者にとって、迅速にエラーの原因を特定できないという不都合があり、ＳＤＫの提供者にとっては開発者からの問い合わせに対処する必要がある。特に、ＳＤＫに精通していない開発者は、原因特定や対処法が容易なエラーについてもＳＤＫの提供者に問い合わせを行うことがある。そのため、開発者側でエラー（特に原因特定や対処法が容易なエラー）の原因特定や対処を行えるようにすべきであるという問題がある。
【０００８】
又、ＳＤＫで作成されたアプリケーションは、エンドユーザーに提供されることがある。ＳＤＫで作成されたアプリケーションの使用に際し、エンドユーザーの実行環境でもエラーが発生することがある。そこで、エンドユーザーは、エラーの原因や対処法（解決方法）を開発者に問い合わせる。又、一般に、エンドユーザーは一般にアプリケーションに対して深い知識を有さない。そのため、原因特定や対処法が容易なエラーについても開発者に問い合わせを行うことがある。そのため、エンドユーザー側でもエラー（特に原因特定や対処法が容易なエラー）の原因特定や対処を行えるようにすべきであるという問題がある。
【０００９】
ここで、特許文献１の発明は、ソースコードが公開されない場合、ＳＤＫの開発者に対して適用できない。また、エンドユーザーにとっても、容易に用いることができない。従って、開発者側やエンドユーザー側でもエラーの原因特定や対処を行えるようにすべきいう問題に対応することができない。
【００１０】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、開発者やエンドユーザーがエラーの原因特定や対処を容易に行えるようにし、エラーに関する問い合わせやその応答を減らし、開発者、エンドユーザー、提供者にとってエラー原因特定や対処に要する手間を軽減することを課題とする。
【課題を解決するための手段】
【００１１】
上記課題解決のため、請求項１に係る情報処理装置は、アプリケーションでなされた処理の実行結果を示し、文字列からなるログと、ログの複数の記述パターンを定めるとともに各前記記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶する記憶部と、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して前記定義データにおける前記記述パターンを定める解析処理部と、前記定義データと前記解析処理部による前記記述パターンの解析結果に応じ、前記メッセージを報知する報知部と、を含むこととした。
【００１２】
この構成によれば、解析処理部は、ログの文字列に基づき、エラーを示すログを認識しエラーを示すログを解析して定義データにおける記述パターンを定め、報知部は、定義データと解析処理部による記述パターンの解析結果に応じ、メッセージを報知する。典型的で頻繁に現れるようなエラーでは、同様のログが残されるので、ログの文字列の記述パターンを解析する比較的容易な処理だけで、ＳＤＫの開発者やエンドユーザーは、エラーに関する原因や対処法を含むメッセージを受け取れる。従って、開発者やエンドユーザーだけで簡単に解決できるようなエラーも解決することができ、エラーに関する問い合わせやその応答を減らし、開発者、エンドユーザー、提供者の手間、作業量を軽減することができる。又、ソースコードの公開が無くても、エラーの原因を特定し、エラーに対処することができ、ソースコードを公開しなくて済む。又、エラー発生時でのエラーメッセージの表示などのエラー原因の認識、報知機能をアプリケーション自体に実装しなくても、エンドユーザーは、エラーの原因や対処法を知ることができる。
【００１３】
又、請求項２に係る発明は、請求項１の発明において、使用者の種別を受け付ける入力部を有し、前記記憶部は、各前記記述パターンについて、前記種別ごとに表現の異なる前記メッセージを記憶し、前記報知部は、同じ前記記述パターンでも前記種別により異なる前記メッセージを報知することとした。
【００１４】
この構成によれば、記憶部は、各記述パターンについて、種別ごとの表現の異なるメッセージを記憶し、報知部は、同じ記述パターンでも種別により異なるメッセージを報知する。これにより、開発者やエンドユーザーなど、アプリケーションに関する知識量の差に応じてメッセージを報知することができる。例えば、開発者に対するメッセージでは、専門用語などを含めつつメッセージを報知し、エンドユーザーに対してはできるだけ専門用語を用いず平易なメッセージを報知するといった使い分けができる。
【００１５】
又、請求項３に係る発明は、請求項１又は２の発明において、前記記憶部は、実行関数名と実行結果を示すログを記憶し、異常な関数呼び出しの繰り返しを示すログの前記記述パターンと異常な関数呼び出しの繰り返しに対する前記メッセージを前記定義データに含めて記憶することとした。
【００１６】
異常に呼び出しが繰り返された関数に着目すれば、エラーの原因や対処法を導き出せることがある。そこで、この構成によれば、記憶部は、実行関数名と実行結果を示すログを記憶し、異常な関数呼び出しの繰り返しを示すログの記述パターンと異常な関数呼び出しの繰り返しに対するメッセージを定義データに含めて記憶する。これにより、異常な関数呼び出しの繰り返しがなされるようなエラーの原因や対処法を示すことができる。
【００１７】
又、請求項４に係る発明は、請求項１乃至３の発明において、前記記憶部は、実行関数名と実行結果を示すログを記憶し、処理に失敗した関数を示すログの前記記述パターンと処理に失敗した関数に対する前記メッセージを前記定義データに含めて記憶することとした。
【００１８】
処理に失敗した関数に着目すれば、エラーの原因や対処法を導き出せることがある。そこで、この構成によれば、記憶部は、実行関数名と実行結果を示すログを記憶し、処理に失敗した関数を示すログの記述パターンと処理に失敗した関数に対するメッセージを定義データに含めて記憶する。これにより、処理に失敗した関数に関連が深く、関数の失敗を招くようなエラーの原因や対処法を示すことができる。
【００１９】
又、請求項５に係る発明は、請求項１乃至４の発明において、前記記憶部は、実行関数名と実行エラーを示すエラーコードをログとして記憶し、前記エラーコードを示すログの前記記述パターンと前記エラーコードに対するメッセージを前記定義データに含めて記憶することとした。
【００２０】
実行エラーを示すエラーコードに着目すれば、原因や対処法を導き出せることがある。そこで、この構成によれば、記憶部は、実行関数名と実行エラーを示すエラーコードをログとして記憶し、エラーコードを示すログの記述パターンとエラーコードに対するメッセージを定義データに含めて記憶する。これにより、エラーコードに関連が深く、エラーコードから導き出されるエラーの原因や対処法を示すことができる。
【００２１】
又、請求項６に係るログ解析システムは、画像形成装置と、前記画像形成装置と通信を行い、処理の命令を与える情報処理装置とを含み、前記情報処理装置は、アプリケーションでなされた処理の実行結果を示し、文字列からなるログと、ログの複数の記述パターンを定めるとともに各前記記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶する記憶部と、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して前記定義データにおける前記記述パターンを定める解析処理部と、前記定義データと前記解析処理部による前記記述パターンの解析結果に応じ、前記メッセージを報知する報知部と、を含むこととした。
【００２２】
又、請求項７に係るログ解析方法は、アプリケーションでなされた処理の実行結果を示し、文字列からなるログを記憶し、ログの複数の記述パターンを定めるとともに各前記記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶し、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して前記定義データにおける前記記述パターンを定め、前記定義データと前記解析処理部による前記記述パターンの解析結果に応じ、前記メッセージを報知することとした。
【００２３】
又、請求項８に係る、ログ解析プログラムは、情報処理装置に、アプリケーションでなされた処理の実行結果を示し、文字列からなるログを記憶させ、ログの複数の記述パターンを定めるとともに、各前記記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶させ、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して前記定義データにおける前記記述パターンを定めさせ、前記定義データと前記解析処理部による前記記述パターンの解析結果に応じ、前記メッセージを報知させることとした。
【００２４】
これらのログ解析システム、ログ解析方法、ログ解析プログラムによれば、請求項１記載の情報処理装置と同様に、開発者やエンドユーザーだけで簡単に解決できるようなエラーも解決することができ、エラーに関する問い合わせやその応答を減らし、開発者、エンドユーザー、提供者の手間、作業量を軽減することができる。又、ソースコードの公開が無くても、エラーの原因を特定し、エラーに対処することができ、ソースコードを公開しなくて済む。又、エラー発生時でのエラーメッセージの表示などのエラー原因の認識、報知機能をアプリケーション自体に実装しなくても、エンドユーザーは、エラーの原因や対処法を知ることができる。
【発明の効果】
【００２５】
上述したように、本発明によれば、開発者やエンドユーザーは、エラーの原因特定や対処を容易に行えるようになる。これにより、開発者とＳＤＫの提供者間や開発者とエンドユーザー間のエラーに関する問い合わせと応答は減る。従って、開発者、エンドユーザー、提供者の全てにとって、エラー原因特定や対処に要する手間は軽減される。又、アプリケーションの開発のしやすさや使いやすさを向上させることができる。
【図面の簡単な説明】
【００２６】
【図１】実施形態に係るログ解析システムの一例の概要を示す説明図である。
【図２】実施形態に係る複合機の一例を示す模型的正面断面図である。
【図３】実施形態に係るログ解析システムの構成の一例を示すブロック図である。
【図４】実施形態のログファイルを開いたときに表示される画面の一例を示す説明図である。
【図５】本実施形態のログファイルを開いたときに表示される画面の一例を示す説明図である。
【図６】実施形態のログファイルを開いたときに表示される画面の一例を示す説明図である。
【図７】実施形態のログ解析プログラムがログ解析及びエラー原因や対処法の報知のために用いる定義データの一例を示す説明図である。
【図８】実施形態の情報処理装置でのログ解析プログラムを用いた処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態に係る情報処理装置１、ログ解析システム１００、ログ処理解析方法、ログ解析プログラム１５を図１〜図８を用いて説明する。但し、本実施の形態に記載されている構成、配置等の各要素は、発明の範囲を限定するものではなく単なる説明例にすぎない。
【００２８】
（ログ解析システム１００の概要）
まず、図１を用いて、実施形態に係るログ解析システム１００の一例を説明する。図１は、実施形態に係るログ解析システム１００の一例の概要を示す説明図である。
【００２９】
図１のうち、右下に配されるのが、開発用の情報処理装置１である。例えば、開発用の情報処理装置１は、パーソナルコンピューターであり、例えば、画像形成装置のアプリケーション１２の開発者のもとに設置される。開発用の情報処理装置１には、アプリケーション１２を開発するためのＳＤＫ１３がインストールされる。
【００３０】
本実施形態のＳＤＫ１３は、画像形成装置（例えば、複合機２。図１において右上位置に示す）用のアプリケーション１２を開発するための複数の開発用プログラム、関数、部品、開発用データなどを含む開発用ツールである。具体的に、ＳＤＫ１３は、開発するためのツールであるプログラム（アプリケーション１２の動作に不要なもの、たとえばシミュレーターやテキストエディタや統合開発環境）を含む。又、ＳＤＫ１３は、作成されるアプリケーション１２を動作させるためのプログラム、関数群など（アプリケーション１２の動作に必要なもの、例えばSDK提供者が提供するdllなど）を含む。そして、複合機２等の製造者に許諾された者は、ＳＤＫ１３の提供を受ける。これにより、ＳＤＫ１３を用いて、第三者である開発者は、複合機２等を便利良く使うためのアプリケーション１２を開発できる。
【００３１】
ＳＤＫ１３を用いて開発されるアプリケーション１２は多様である。例えば、複合機２のスキャンで得られた原稿の画像データの自動的な送信先の分類や振り分けを行うアプリケーション１２がある。又、例えば、スキャンした紙文書の電子文書化に際し、加工や修正を行うためのアプリケーション１２がある。その他、複合機２のコピー機能やプリンタ機能などを便利に用いるためのアプリケーション１２もＳＤＫ１３で開発することができる。
【００３２】
開発用の情報処理装置１では、ＳＤＫ１３を用いて開発されたアプリケーション１２を複合機２等で使用できるように、パッケージングを行うことができる。パッケージング機能（パッケージング用プログラムやデータ）は、ＳＤＫ１３に含まれ、アプリケーション１２を開発用の情報処理装置１以外でも使用できるようにするため、バイナリデータ、データファイル、構成ファイルなどの各種ファイルのバンドル等を行う。又、ＳＤＫ１３に含まれ、作成されるアプリケーション１２を動作させるためのプログラム、関数群など（アプリケーション１２の動作に必要なもの、例えばSDK提供者が提供するdllなど）もバンドルされる。このパッケージングにより、アプリケーション１２は、他の情報処理装置１にインストールして利用できる形態とされる。このパッケージング機能は、例えば、ＳＤＫ１３に含まれる。
【００３３】
開発したアプリケーション１２のパッケージングに際し、ＳＤＫ１３は、アプリケーション１２が実行した処理とその結果を示すログ（履歴）を記したログファイル１６を生成し記憶させるプログラム（ログ生成プログラム１４、命令文）をアプリケーション１２に含ませる。言い換えると、ＳＤＫ１３は、作成されたアプリケーション１２を動作させるためのプログラム、関数群などとともに、ログ生成プログラム１４を含めるパッケージングの処理を情報処理装置１に行わせる。これにより、ログ生成プログラム１４は、アプリケーション１２の処理に伴い、アプリケーション１２を含む情報処理装置１にログを生成させ記憶させる。尚、ログの詳細は後述する。
【００３４】
又、開発したアプリケーション１２のパッケージングに際し、ＳＤＫ１３は、生成されたログを解析し、エラー原因や対処法を示すログ解析プログラム１５（解析ツール）やログ解析プログラム１５用のデータをアプリケーション１２に含ませる。言い換えると、ＳＤＫ１３は、作成されたアプリケーション１２を動作させるためのプログラム、関数群などとともに、ログ生成プログラム１４やログ解析プログラム１５を含めるパッケージング処理を情報処理装置１に行わせる。このログ解析プログラム１５を用いることで、アプリケーション１２を含む情報処理装置１は、エラー原因や対処法をエンドユーザー等に報知することができる。尚、ログ解析プログラム１５の詳細は後述する。
【００３５】
例えば、アプリケーション１２の開発者は、ＳＤＫ１３がインストールされた情報処理装置１でアプリケーション１２を実行することができる。このアプリケーション１２実行により、情報処理装置１から複合機２に対して命令が与えられる（命令を図１において白抜矢印で示す）。この与えられる命令に沿って複合機２は動作する。開発環境では、アプリケーション１２の開発者は、実際にアプリケーション１２を用いて、エラーの発生や発生原因を検証し、デバッグを行う。このデバッグに際し、上述のログ生成プログラム１４やログ解析プログラム１５を用いることができる。
【００３６】
又、図１のうち、左側中央位置に配されるのが、アプリケーション１２の実行環境での情報処理装置１である。この情報処理装置１は、例えば、パーソナルコンピューターやアプリケーションサーバーである。アプリケーション１２は、実行環境での情報処理装置１に、開発者からアプリケーション１２の使用を許諾されたエンドユーザーによってインストールされる。
【００３７】
エンドユーザーは、実行環境での情報処理装置１上で、アプリケーション１２を実行することができる。このアプリケーション１２実行により、実行環境での情報処理装置１から複合機２に対して命令が与えられる。この与えられる命令に沿って複合機２は動作する。
【００３８】
尚、図１では、アプリケーション１２の開発環境（ＳＤＫ１３がインストールされた情報処理装置１と複合機２）におけるシステムと、アプリケーション１２の実行環境（アプリケーション１２がインストールされた情報処理装置１と複合機２）におけるシステムをあわせて示している。しかし、ログ解析システム１００は、開発環境では、ＳＤＫ１３がインストールされた情報処理装置１と複合機２の組み合わせで成立し、実行環境では、アプリケーション１２がインストールされた情報処理装置１と複合機２の組み合わせで成立する。そのため、必ずしも、図１に示すように、複合機２に対して開発環境用と実行環境用の２種類の情報処理装置１が必要ではない。
【００３９】
（画像形成装置の概略）
次に、図２に基づき、実施形態に係る複合機２の概略を説明する。図２は実施形態に係る複合機２の一例を示す模型的正面断面図である。
【００４０】
図２に示すように、本実施形態の複合機２は、最上部に原稿カバー２１を有し、複合機２本体には、操作パネル２２、画像読取部２３、給紙部２４、搬送路２５、画像形成部２６、定着部２７等が設けられる。
【００４１】
まず、図２に破線で示すように、操作パネル２２は、複合機２の正面上方に設けられる。そして、操作パネル２２は、複合機２の状態や各種メッセージを表示する液晶表示部２２１を備える。液晶表示部２２１は、機能の選択、設定や文字入力等を行うためのキーを１又は複数表示できる。又、液晶表示部２２１の上面に透明なタッチパネル２２２（例えば、抵抗膜方式）が設けられる。タッチパネル２２２は、液晶表示部２２１で押下された部分の位置、座標を検出するためのものである。又、操作パネル２２には、コピー等の各種機能の実行開始を指示するためのスタートキー２２３等、各種のハードキーも設けられる。
【００４２】
原稿カバー２１は、図２の紙面奥行き方向に支点を有し、紙面上下方向に開閉可能である。原稿カバー２１は、原稿の複写時、載置読取用コンタクトガラス２３１に載置された原稿を押さえる。画像読取部２３は、原稿を読み取り、原稿の画像データを形成する。又、画像読取部２３内には露光ランプ、ミラー、レンズ、イメージセンサ（例えば、ＣＣＤ）等の光学系部材（不図示）が設けられる。尚、原稿カバー２１に変えて、原稿を１枚ずつ、自動的、連続的に、画像読取部２３の読み取り位置（送り読取用コンタクトガラス２３２）に向けて搬送する原稿搬送装置を設けてもよい。
【００４３】
そして、これらの光学系部材を用い、載置読取用コンタクトガラス２３１に載置される原稿に光を照射し、その原稿の反射光を受けたイメージセンサの各画素の出力値をＡ／Ｄ変換し、画像データが生成される。複合機２は、読み取りにより得られた画像データに基づき印刷を行うことができる（コピー機能）。
【００４４】
給紙部２４は、複数の用紙（例えば、コピー用紙、普通紙、再生紙、厚紙、ＯＨＰシート等の各種シート）を収容し、１枚ずつ搬送路２５に送り込む。給紙部２４は、収納用紙が載置されるカセット２４１を含む（図２で上方のものに２４１ａ、下方のものに２４１ｂの符号を付す）。又、カセット２４１から搬送路２５に送り出すため回転駆動する給紙ローラ２４２が設けられる（図２で上方のものに２４２ａ、下方のものに２４２ｂの符号を付す）。例えば、印刷時には、給紙ローラ２４２が回転駆動し、印刷に要する用紙が１枚ずつ搬送路２５に送り出される。
【００４５】
搬送路２５は、給紙部２４から排出トレイ２５１まで用紙を搬送する通路である。尚、用紙搬送経路上には画像形成部２６、定着部２７等が配される。そして、搬送路２５には用紙の案内のためのガイド３４や、用紙搬送の際に回転駆動する搬送ローラ対２５２や、搬送されてくる用紙を画像形成部２６の手前で待機させ、トナー像形成のタイミングを合わせて用紙を送り出すレジストローラ対２５３等が設けられる。
【００４６】
画像形成部２６は、画像データに基づきトナー像を形成し、搬送される用紙にトナー像を転写する。そのため、画像形成部２６は、図２中に示す矢印方向に回転駆動可能に支持された感光体ドラム２６１、及び、感光体ドラム２６１の周囲に配設された帯電装置２６２、露光装置２６３、現像装置２６４、転写ローラ２６５、清掃装置２６６等を備える。
【００４７】
トナー像形成及び転写プロセスを説明すると、画像形成部２６の略中心に設けられ、所定方向に回転駆動する感光体ドラム２６１は、図２において、感光体ドラム２６１の右斜め上方に設けられる帯電装置２６２により、所定電位に帯電される。図４において、露光装置２６３は、帯電装置２６２の右側方に設けられ、画像データに基づき、レーザ光Ｌをから出力し、感光体ドラム２６１表面を走査露光して画像データに応じた静電潜像を形成する。尚、画像データは、画像読取部２３で得られた画像データや、ネットワーク等により接続される外部のコンピュータ２００や相手方ＦＡＸ装置３００（図３参照）から送信された画像データ等が用いられる。
【００４８】
そして、図２において、感光体ドラム２６１の右斜め下方に設けられる現像装置２６４は、感光体ドラム２６１に形成された静電潜像にトナーを供給して現像する。感光体ドラム２６１の左方に設けられる転写ローラ２６５は感光体ドラム２６１に圧接し、ニップが形成される。そして、トナー像にあわせタイミングを図られつつ、用紙はニップに進入する。用紙進入時、転写ローラ２６５には所定の電圧が印加され、用紙に感光体ドラム２６１上のトナー像が転写される。清掃装置２６６は、転写後に感光体ドラム２６１に残留するトナーを除去する。
【００４９】
定着部２７は、用紙に転写されたトナー像を定着させる。本実施形態における定着部２７は、主として発熱体を内蔵する加熱ローラ２７１と加圧ローラ２７２で構成される。加熱ローラ２７１と加圧ローラ２７２は圧接しニップを形成する。そして、用紙がこのニップを通過することで、用紙表面のトナーが溶融・加熱され、トナー像が用紙に定着する。トナー定着後の用紙は、排出トレイ２５１が受け止める。このようにして、コピー機能、プリンタ機能の使用時、画像形成（印刷）が行われる。
【００５０】
（ログ解析システム１００のハードウェア構成）
次に、図３に基づき実施形態に係るログ解析システム１００のハードウェア構成の一例を説明する。図３は、実施形態に係るログ解析システム１００の構成の一例を示すブロック図である。
【００５１】
まず、複合機２内には、主制御部２０が設けられ、主制御部２０は複合機２の動作を制御し、例えば、ＣＰＵ２０１、画像処理部２０２等で構成される。尚、主制御部２０は、全体制御や画像処理を行うメイン制御部と、画像形成や各種回転体を回転させるモータ等のＯＮ／ＯＦＦ等を制御するエンジン制御部等、機能ごとに分割して複数種設けられてもよい。
【００５２】
ＣＰＵ２０１は、中央演算処理装置であって、記憶装置２８に格納され、展開されるプログラムやデータに基づき複合機２の各部を制御する。画像処理部２０２は、印刷を行う画像データや、外部のコンピュータ２００や相手方のＦＡＸ装置３００に送信される画像データに対し、各種画像処理を施す。
【００５３】
記憶装置２８は、例えば、ＲＯＭ、ＲＡＭ、ＨＤＤ、フラッシュＲＯＭ等を含み、不揮発性と揮発性の記憶装置２８を組み合わせて構成される。この記憶装置２８には、複合機２の制御用等の各種のプログラムやデータ、設定データ、画像データ等の各種データを記憶できる。
【００５４】
複合機２の記憶装置２８は、複合機２を制御するための基本ソフトウェア（ファームウェア、ＯＳ）を記憶する。ファームウェアやＯＳは、記憶装置２８の管理、操作パネル２２に関する入出力制御など、複合機２全体を管理、制御するためのものであり、アプリケーション１２が利用する基本的機能を提供する。
【００５５】
又、記憶装置２８は、コピー、プリンタ、ファクシミリ、及びスキャナの複合機２の基本機能を利用するためのコピーアプリ、プリンタアプリ、ＦＡＸアプリ、及びスキャナアプリを記憶する。これらのアプリは、予めメーカにより作成される。又、記憶装置２８は、複合機２を利用する上で用いられる関数を記憶する。関数は、多くのアプリケーション１２が共通して利用する機能を実現する。各種関数は、命令やルーチンや規約やデータの集合である。情報処理装置１で実行されたアプリケーション１２に基づく命令を複合機２が受信したとき、記憶装置２８内の関数を呼び出して利用して処理（アプリケーション１２に基づく命令）を実現することもできる。
【００５６】
そして、主制御部２０は、操作パネル２２、画像読取部２３、給紙部２４、搬送路２５、画像形成部２６、定着部２７等の各部とバスや信号線等で接続され、各部、各装置を制御して複合機２の動作を制御する。
【００５７】
更に、主制御部２０は、各種コネクタ、ソケット、通信制御用のチップ等を備えたＩ／Ｆ部２９と接続される。Ｉ／Ｆ部２９は、ネットワークやケーブル等により、外部の情報処理装置１や、コンピュータ２００や、相手方のＦＡＸ装置３００と複合機２とを通信可能に接続する。例えば、設定データ等を含む画像データを外部のコンピュータ２００や相手方ＦＡＸ装置３００（インターネットＦＡＸでもよい）と送受信に送信することができる（スキャナ機能、ＦＡＸ機能）。又、外部のコンピュータ２００や相手方ＦＡＸ装置３００からの画像データに基づき印刷を行うこともできる（プリンタ機能、ＦＡＸ機能）。このように、複合機２は、コピー機能、プリンタ機能、スキャン機能、ＦＡＸ機能のうちの複数の機能を備える。
【００５８】
又、Ｉ／Ｆ部２９は、実行されたアプリケーション１２に基づく命令を情報処理装置１から受信する。この命令は、Ｉ／Ｆ部２９から主制御部２０に伝えられ、主制御部２０は命令に従って動作する。これにより、アプリケーション１２により、複合機２を動作させることができる。
【００５９】
次に、複合機２と通信可能に接続される情報処理装置１を説明する。情報処理装置１は、アプリケーション１２の開発環境や実行環境に設置されるものである。そして、図３に示すように、情報処理装置１は、例えば、ＣＰＵ１０１や、日時を計時するタイマ１０２を含む処理部１０（解析処理部に相当）を含む。処理部１０は、例えば、情報処理装置１の制御基板である。
【００６０】
記憶部１１は、ＨＤＤやＲＡＭやＲＯＭで構成される。そして、記憶部１１は、複合機２用のアプリケーション１２を開発するためのＳＤＫ１３を記憶する。開発者は、ＳＤＫ１３を用いて、処理部１０に処理を行わせ、アプリケーション１２の開発、作成、パッケージング等を行うことができる。尚、実行環境の情報処理装置１であれば、記憶部１１は、ＳＤＫ１３そのものは記憶しない（アプリケーション１２の動作に不要な部分であって、アプリケーション１２に含めない部分、たとえばシミュレーターや、テキストエディタや、統合開発環境は記憶しない）が、パッケージングされたアプリケーション１２は、ＳＤＫ１３に含まれるアプリケーション１２を動作させるためのプログラム、関数群など（アプリケーション１２の動作に必要なもの、例えばSDK提供者が提供するdllなど）を含むので、ＳＤＫ１３の一部は、実行環境の情報処理装置１も記憶していることになる。
【００６１】
又、記憶部１１は、複合機２用の（パッケージング後の）アプリケーション１２を記憶する。起動されたアプリケーション１２は、処理部１０を動作させ、複合機２に対する命令を行わせる。これにより、情報処理装置１から複合機２に対し各種命令が伝えられ、アプリケーション１２の命令に応じた動作を複合機２に行わせることができる。
【００６２】
又、記憶部１１は、アプリケーション１２での実行された処理や実行結果やその日時を示すログを生成するログ生成プログラム１４を記憶する。ログ生成プログラム１４は、アプリケーション１２の起動に伴って起動され、処理部１０を動作させ、アプリケーション１２の実行処理を監視させ、タイマ１０２が計時する日時を用いて、ログを生成させ、ログファイル１６として記憶部１１に記憶させる。例えば、ログファイル１６内のログは、テキストデータの形式で生成される。
【００６３】
又、記憶部１１は、ログを解析して、エラーの原因や対処法を示すログ解析プログラム１５を記憶する。起動されたログ解析プログラム１５は、処理部１０を動作させ、指定されたログファイル１６を解析する。
【００６４】
又、情報処理装置１は、入力部１７を含む。入力部１７は、例えば、キーボードやマウス等の人間−マシン間のインターフェイスとしての入力装置である。例えば、この入力部１７を用いて、ＳＤＫ１３での開発や、アプリケーション１２の設定や実行指示や、ログ解析プログラム１５の起動指示や、ログ解析プログラム１５で解析するログの指定を行うことができる。
【００６５】
又、情報処理装置１は、表示装置としてのディスプレイ１８（報知部に相当）を含む。例えば、処理部１０は、ＳＤＫ１３での開発画面や、アプリケーション１２の設定画面や、ログ解析プログラム１５のログ指定画面や、ログ解析の結果画面など、各種画面をディスプレイ１８に表示させる。
【００６６】
又、情報処理装置１は、外部と通信を行うためのインターフェイスであるデータ通信部１９を含む。例えば、図３に示すように、ケーブルやネットワーク等により、複合機２のＩ／Ｆ部２９と情報処理装置１のデータ通信部１９とを通信可能に接続することができる。従って、情報処理装置１と複合機２間で、通信により各種データの送受信を行うことができる。例えば、データ通信部１９は、アプリケーション１２に基づく命令を複合機２のＩ／Ｆ部２９に与え、複合機２のＩ／Ｆ部２９は命令の実行結果を返す。
【００６７】
（エラーを示すログと記述パターン）
次に、図４〜図６を用いて、本実施形態のログファイル１６に記されるエラーを示すログとその記述パターンを説明する。図４〜図６は、本実施形態のログファイル１６を開いたときに表示される画面の一例を示す説明図である。
【００６８】
本実施形態の情報処理装置１は、アプリケーション１２の実行した関数（処理）と実行結果をログとして記憶部１１に記憶する。言い換えると、ログ生成プログラム１４は、処理部１０にアプリケーション１２で実行された関数や実行結果をログとして生成させ、記憶部１１に記憶させる。
【００６９】
図４〜図６に示すように、ログは、文字列として（テキストとして）記憶部１１に記憶される。そして、例えば、図４〜図６に示すように、ログ生成プログラム１４は、処理部１０に、「関数を実行した日時＋実行した関数＋実行結果」という形式で生成させ、ログファイル１６内に時間順にログを記録させる。
【００７０】
そして、図４〜図６は、実行しようとした処理でエラーが発生したときのログの記述パターンの一例を示す。尚、実行しようとした処理でエラー無く実行できたとき、例えば、「（関数を実行した日時）＋実行した関数＋success」といった形式で記述される。
【００７１】
図４は、「ＦｕｎｃｔｉｏｎＡ」という関数の呼び出しを複合機２に命令し、ＦｕｎｃｔｉｏｎＡの呼び出し処理を行った旨の応答の複合機２からの受信を複数回繰り返し、結局、呼び出しを中断したエラーが生じたときのログの記述パターンを示す。言い換えると、命令（関数）の不自然な複数回繰り返しエラーが生じたときのログを示す。
【００７２】
図５は、「ＦｕｎｃｔｉｏｎＢ」という関数の呼び出しを複合機２に命令し、複合機２の主制御部２０が「ＦｕｎｃｔｉｏｎＢ」という関数を呼び出したものの、呼び出せなかった、あるいは、呼び出しが拒否された（失敗した）旨を情報処理装置１が複合機２から受信したときのログの記述パターンを示す。言い換えると、関数を呼び出せなかったエラーが生じたときのログの記述パターンを示す。
【００７３】
図６は、「ＳｃａｎＦｕｎｃｔｉｏｎ」という関数の呼び出し及び実行を複合機２に命令したものの、複合機２からの応答や返答がタイムアウト時間経過までになく、複合機２との通信失敗のエラーが生じたときのログの記述パターンを示す。この場合、通信に失敗した旨のエラーコードが記述されている（本例では、「communication error」のエラーコード）。
【００７４】
異常な（不自然な）関数呼び出しの繰り返しや、関数の呼び出しなどの処理の失敗や、通信エラーには、原因がある。例えば、これらのエラーは、複合機２の電源が入っていない、あるいは、複合機２が省電力モードに入っていて、記憶装置２８や画像読取部２３や画像形成部２６や主制御部２０への電力供給が停止されていることに起因することがある。又、情報処理装置１からの命令を実行するうえで、必要なソフトウェアやハードウェアがない、あるいは壊れていることに起因する場合がある。又、命令における設定値が適切な値ではなく、アプリケーション１２における設定値の以上で関数呼び出しや実行に失敗する場合もある。
【００７５】
そして、全てのエラーに当てはまる訳ではないが、アプリケーション１２の処理において、呼び出しや実行を命令する関数ごとに、エラーの原因はある程度限られる。そして、エラーが生じたときのログの記述パターンをみれば、１つの関数について１又は複数あるエラーの原因のうち、関連が深いエラー原因を導き出せる場合がある。
【００７６】
そこで、本実施形態のログ解析プログラム１５は、エラーを示すログの記述パターンをみて、定義データに基づき、エラーの原因や対処法を報知する。
【００７７】
（ログ解析プログラム１５における定義データ）
次に、図７を用いて、本実施形態のログ解析プログラム１５がログ解析及びエラー原因や対処法の報知のために用いる定義データの一例を説明する。図７は、本実施形態のログ解析プログラム１５がログ解析及びエラー原因や対処法の報知のために用いる定義データの一例を示す説明図である。
【００７８】
図７は、定義データの一例を示している。定義データのうち、記述パターンの項目には呼び出しや実行を行う関数名やログでの記述パターンが定義される。例えば、定義データのうち、最上欄には異常な（不自然な）関数呼び出しの繰り返しを示すログの記述パターンが定義され、２段目の欄では、関数の呼び出しなどの処理の失敗を示すログの記述パターンが定義され、３段目の欄では、通信エラーを示すログの記述パターンが定義される。
【００７９】
記述パターンは、関数ごとに定義されても良い。又、エラー発生時のログの記述パターンや原因や対処法が共通する関数を複数個まとめて１つとして定義してもよい。
【００８０】
そして、定義された記述パターンに対応付けて、エラー原因や対処法を示すメッセージが定義データに定義される。ログ解析プログラム１５は、処理部１０にログを解析させ、エラーを示すログを定めさせ、エラーを示すログ部分と定義データを比較させ、定義データ中で一致する記述パターンを定めさせる。言い換えると、情報処理装置１（の処理部１０）は、ログを解析し、エラーを示すログを定め、エラーを示すログ部分と定義データを比較し、定義データ中で一致する記述パターンを定める。
【００８１】
例えば、定義データには、問い合わせの多いエラーや、実際にＳＤＫ１３を用いた開発においてよく生ずるエラーについて、記述パターンやメッセージを定義する。これにより、より多くのエラー発生に対して、エラー原因や対処法を開発者やエンドユーザーに提示できる。
【００８２】
そして、ログ解析プログラム１５は、一致した記述パターンに対応して定められたメッセージをディスプレイ１８に表示させる。言い換えると、情報処理装置１のディスプレイ１８は、一致した記述パターンに対応して定められたメッセージを表示する。この表示を確認することにより、開発者やエンドユーザーは、エラーの原因や対処法を示す情報を入手できる。従って、エラーの原因や対処法を問い合わせることなくエラーを自力で解消できる。
【００８３】
ここで、ＳＤＫ１３を用いたアプリケーション１２の開発者とエンドユーザーでは、アプリケーション１２や情報処理装置１や複合機２に対する知識量に大きな隔たりがある。例えば、アプリケーション１２開発に用いる専門用語を用いてメッセージを定義すると、開発者にとってはわかりやすいが、エンドユーザーにとっては解らない。そのため開発者向けに各メッセージを定義すると、エンドユーザーに向けてメッセージを提示しても、エンドユーザーは理解できない場合がある。一方で、エンドユーザー向けに各メッセージを定義すると、開発者にとっては、もっと詳しく教えて欲しいと考える場合もある。
【００８４】
そこで、本実施形態の情報処理装置１、ログ解析プログラム１５では、１つの記述パターンの定義に対し、開発者向けのメッセージと、エンドユーザー向けのメッセージの２種類が関連付けられて定義される。尚、さらに別種のメッセージ（３種以上のメッセージ）を定義しても良い。
【００８５】
そのため、ログ解析プログラム１５において、開発者向けのメッセージを表示するか、開発者向けのメッセージを表示するかを予め設定できるようにしてもよい。この場合、情報処理装置１は、設定にあわせた（設定された種別にあわせて）メッセージをディスプレイ１８に表示する。
【００８６】
あるいは、いずれのメッセージを表示するか自動的に判断してもよい。例えば、ログ解析プログラム１５は起動すると、処理部１０に、記憶部１１内にＳＤＫ１３のうち、アプリケーション１２の動作に不要な部分（アプリケーション１２に含めない部分、たとえばシミュレーターや、テキストエディタや、統合開発環境）が存在するか否かを確認させ、ＳＤＫ１３のうちアプリケーション１２の動作に不要な部分が存在する場合、開発者向けのメッセージをディスプレイ１８に表示させ、ＳＤＫ１３のうち、アプリケーション１２の動作に不要な部分が存在しなければ、エンドユーザー向けのメッセージをディスプレイ１８に表示させる。
【００８７】
あるいは、ログ解析プログラム１５は、開発者向けのメッセージとエンドユーザー向けのメッセージのいずれもディスプレイ１８に表示させてもよい。
【００８８】
（ログ解析の流れ）
次に、図８を用いて、本実施形態の情報処理装置１でのログ解析プログラム１５を用いた処理の流れの一例を説明する。図８は、本実施形態の情報処理装置１でのログ解析プログラム１５を用いた処理の流れの一例を示すフローチャートである。
【００８９】
図８のスタートは、開発者やエンドユーザーによって、情報処理装置１にインストールされたログ解析プログラム１５が起動された時点である。
【００９０】
ログ解析プログラム１５が起動されると、処理部１０は、記憶部１１に記憶されるアプリケーション１２のログを取得する（ステップ♯１）。尚、取得するログファイル１６のパスを事前に設定しておき、自動的にログ（ログファイル１６）が取得されても良いし、入力部１７を用いて開発者やエンドユーザーにより指定されたログ（ログファイル１６）が取得されても良い。
【００９１】
次に、処理部１０は、ログファイル１６中のエラーを示すログを認識する（ステップ♯２）。例えば、処理部１０は、ログファイル１６のうち、異常な関数の呼び出しの繰り返しのある部分や、処理失敗を示す部分や、エラーを示すコードが示され部分をエラーを示すログと認識する。
【００９２】
次に、処理部１０は、定義データを参照し、各エラーを示すログ（各エラーを示す部分）について、定義データに定義される記述パターンのうちいずれの記述パターンに該当するかを定める（ステップ♯３）。
【００９３】
そして、処理部１０は、定めた記述パターンに対応して定められたメッセージをディスプレイ１８に表示させる（ステップ♯４→エンド）。このメッセージの表示では、上述のように、開発者向けのメッセージが表示されてもよいし、エンドユーザー向けのメッセージが表示されても良いし、いずれのメッセージが表示されてもよい。尚、メッセージの報知方法としては、ディスプレイ１８への表示でもよいし、音声によるメッセージでもよく（この場合、情報処理装置１にスピーカや音声処理用チップが搭載される）、開発者やエンドユーザーが認識できるものであればよい。
【００９４】
このようにして、本実施形態の構成によれば、情報処理装置１は、アプリケーション１２でなされた処理の実行結果を示し、文字列からなるログと、ログの複数の記述パターンを定めるとともに各記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶する記憶部１１と、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して定義データにおける記述パターンを定める解析処理部（処理部１０）と、定義データと解析処理部による記述パターンの解析結果に応じ、メッセージを報知する報知部（ディスプレイ１８）と、を含む。
【００９５】
典型的で頻繁に現れるようなエラーでは、同様のログが残されるので、ログの文字列の記述パターンを解析する比較的容易な処理だけで、ＳＤＫ１３の開発者やエンドユーザーは、エラーに関する原因や対処法を含むメッセージを受け取れる。従って、開発者やエンドユーザーだけで簡単に解決できるようなエラーも解決することができ、エラーに関する問い合わせやその応答を減らし、開発者、エンドユーザー、提供者の手間、作業量を軽減することができる。又、ソースコードの公開が無くても、エラーの原因を特定し、エラーに対処することができ、ソースコードを公開しなくて済む。又、エラー発生時でのエラーメッセージの表示などのエラー原因の認識、報知機能をアプリケーション１２自体に実装しなくても、エンドユーザーは、エラーの原因や対処法を知ることができる。
【００９６】
又、情報処理装置１は、使用者の種別を受け付ける入力部１７を有し、記憶部１１は、各記述パターンについて、種別ごとに表現の異なるメッセージを記憶し、報知部（ディスプレイ１８）は、同じ記述パターンでも種別により異なるメッセージを報知する。これにより、開発者やエンドユーザーなど、アプリケーション１２に関する知識量の差に応じてメッセージを報知することができる。例えば、開発者に対するメッセージでは、専門用語などを含めつつメッセージを報知し、エンドユーザーに対してはできるだけ専門用語を用いず平易なメッセージを報知するといった使い分けができる。
【００９７】
又、異常に呼び出しが繰り返された関数に着目すれば、エラーの原因や対処法を導き出せることがある。そこで、記憶部１１は、実行関数名と実行結果を示すログを記憶し、異常な関数呼び出しの繰り返しを示すログの記述パターンと異常な関数呼び出しの繰り返しに対するメッセージを定義データに含めて記憶する。これにより、異常な関数呼び出しの繰り返しがなされるようなエラーの原因や対処法を示すことができる。
【００９８】
又、処理に失敗した関数に着目すれば、エラーの原因や対処法を導き出せることがある。そこで、記憶部１１は、実行関数名と実行結果を示すログを記憶し、処理に失敗した関数を示すログの記述パターンと処理に失敗した関数に対するメッセージを定義データに含めて記憶する。これにより、処理に失敗した関数に関連が深く、関数の失敗を招くようなエラーの原因や対処法を示すことができる。
【００９９】
又、実行エラーを示すエラーコードに着目すれば、原因や対処法を導き出せることがある。記憶部１１は、実行関数名と実行エラーを示すエラーコードをログとして記憶し、エラーコードを示すログの記述パターンとエラーコードに対するメッセージを定義データに含めて記憶する。これにより、エラーコードに関連が深く、エラーコードから導き出されるエラーの原因や対処法を示すことができる。
【０１００】
又、本発明は、上述のように、ログ解析システム１００の発明として捉えることもできる。具体的には、ログ解析システム１００は、画像形成装置（例えば、複合機２）と、画像形成装置と通信を行い、処理の命令を与える情報処理装置１とを含み、情報処理装置１は、アプリケーション１２でなされた処理の実行結果を示し、文字列からなるログと、ログの複数の記述パターンを定めるとともに各記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶する記憶部１１と、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して定義データにおける記述パターンを定める解析処理部（処理部１０）と、定義データと解析処理部による記述パターンの解析結果に応じ、メッセージを報知する報知部（ディスプレイ１８）と、を含む。
【０１０１】
又、本発明は、上述のように、ログ処理解析方法の発明として捉えることもできる。具体的には、ログ処理解析方法は、アプリケーション１２でなされた処理の実行結果を示し、文字列からなるログを記憶し、ログの複数の記述パターンを定めるとともに各記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶し、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して定義データにおける記述パターンを定め、定義データと解析処理部（処理部１０）による記述パターンの解析結果に応じ、メッセージを報知する。
【０１０２】
又、本発明は、上述のように、ログ解析プログラム１５の発明として捉えることもできる。具体的には、ログ解析プログラム１５は、情報処理装置１に、アプリケーション１２でなされた処理の実行結果を示し、文字列からなるログを記憶させ、ログの複数の記述パターンを定めるとともに、各記述パターンに対応付けてエラーの原因又は対処法の少なくとも何れか一方を示すメッセージを定める定義データを記憶させ、ログの文字列に基づき、エラーを示すログを認識し、エラーを示すログを解析して定義データにおける記述パターンを定めさせ、定義データと解析処理部（処理部１０）による記述パターンの解析結果に応じ、メッセージを報知させる。
【０１０３】
これらログ解析システム１００、ログ処理解析方法でも、上述の情報処理装置１と同様に、開発者やエンドユーザーだけで簡単に解決できるようなエラーも解決することができ、エラーに関する問い合わせやその応答を減らし、開発者、エンドユーザー、提供者の手間、作業量を軽減することができる。又、ソースコードの公開が無くても、エラーの原因を特定し、エラーに対処することができ、ソースコードを公開しなくて済む。又、エラー発生時でのエラーメッセージの表示などのエラー原因の認識、報知機能をアプリケーション１２自体に実装しなくても、エンドユーザーは、エラーの原因や対処法を知ることができる。
【０１０４】
本発明の実施形態を説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。
【産業上の利用可能性】
【０１０５】
本発明は、画像形成装置や、画像形成装置やコンピュータを含む画像形成システムに使用可能である。
【符号の説明】
【０１０６】
１００  ログ解析システム                １      情報処理装置
１１    記憶部                          １０    処理部（解析処理部）
１２    アプリケーション                １４    ログ生成プログラム
１５    ログ解析プログラム              １６    ログファイル
１７    入力部                          １８    ディスプレイ（報知部）
２      複合機（画像形成装置）
【図２】
2012234273.tif 000003
【図３】
2012234273.tif 000004
【図４】
2012234273.tif 000005
【図５】
2012234273.tif 000006
【図６】
2012234273.tif 000007
【図７】
2012234273.tif 000008
【図８】
2012234273.tif 000009
【図１】
2012234273.tif 000010