(57)【要約】【課題】  アプリケーションによるＡＰＩの呼び出しに関する不具合の原因の特定を容易化することができる電子機器、プラットフォームおよびログアプリケーションを提供する。【解決手段】  アプリケーション２２によって呼び出されるＡＰＩを提供するプラットフォーム２１ｂを備えるＭＦＰは、ＭＦＰの内部状態の変化と、アプリケーション２２によるＡＰＩの呼び出しとしてのＡＰＩコールの変化とのログを記憶するためのログアプリケーション２２ａを備え、プラットフォーム２１ｂは、ＡＰＩコールの変化をログアプリケーション２２ａに通知し（Ｓ１６７）、ログアプリケーション２２ａは、Ｓ１６７において通知されたＡＰＩコールの変化をログとして記憶する（Ｓ１６８）ことを特徴とする。【選択図】  図５
2018136651.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションによって呼び出されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供するプラットフォームを備える電子機器であって、
前記電子機器の内部状態の変化と、
前記アプリケーションによる前記ＡＰＩの呼び出しとしてのＡＰＩコールの変化と
のログを記憶するためのログアプリケーションを備え、
前記プラットフォームは、前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログアプリケーションに通知する変化通知手段を前記電子機器に実現させ、
前記ログアプリケーションは、前記変化通知手段によって通知された、前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログとして記憶するログ記憶手段を前記電子機器に実現させることを特徴とする電子機器。
【請求項２】
前記内部状態の変化、および、前記ＡＰＩコールの変化は、複数のカテゴリーに分類され、
前記ログアプリケーションは、前記カテゴリーの指定を受け付けるカテゴリー受付手段を前記電子機器に実現させ、
前記ログ記憶手段は、前記複数のカテゴリーのうち、前記カテゴリー受付手段によって指定が受け付けられた前記カテゴリーの、前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログとして記憶することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記変化通知手段は、前記複数のカテゴリーのうち、前記カテゴリー受付手段によって指定が受け付けられた前記カテゴリーの、前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログアプリケーションに通知することを特徴とする請求項２に記載の電子機器。
【請求項４】
前記ログ記憶手段は、前記電子機器の外部の記憶デバイスに前記ログを記憶することを特徴とする請求項１から請求項３までの何れかに記載の電子機器。
【請求項５】
電子機器によって実行されるアプリケーションによって呼び出されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供するプラットフォームであって、
前記電子機器の内部状態の変化と、
前記アプリケーションによる前記ＡＰＩの呼び出しとしてのＡＰＩコールの変化と
のログを記憶するためのログアプリケーションに、前記内部状態の変化、および、前記ＡＰＩコールの変化を通知する変化通知手段を前記電子機器に実現させることを特徴とするプラットフォーム。
【請求項６】
アプリケーションによって呼び出されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供するプラットフォームを備える電子機器の内部状態の変化と、
前記アプリケーションによる前記ＡＰＩの呼び出しとしてのＡＰＩコールの変化と
のログを記憶するためのログアプリケーションであって、
前記プラットフォームによって通知された前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログとして記憶するログ記憶手段を前記電子機器に実現させることを特徴とするログアプリケーション。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを動作させるプラットフォームを備える電子機器、プラットフォームおよびログアプリケーションに関する。
【背景技術】
【０００２】
従来、アプリケーションによって呼び出されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供するプラットフォームを備える電子機器が知られている。電子機器は、アプリケーションがインストールされることによって、機能を拡張することができ、例えば、より便利で、より使い易い機能を利用者に提供することができる。プラットフォームは、電子機器のメーカーによって提供されるが、アプリケーションは、電子機器のメーカーによって提供される場合だけでなく、サードパーティーによって提供される場合もある。
【０００３】
プラットフォームによって提供されるＡＰＩを適切に利用するアプリケーションが作成されるのであれば良いが、実際には、ＡＰＩを不適切に利用して不具合を発生させるアプリケーションが存在する。
【０００４】
ＡＰＩを不適切に利用して不具合を発生させるパターンとしては、例えば、電子機器の内部状態がＡＰＩを適切に処理できない状態でＡＰＩが呼び出されるパターンや、本来の目的とは異なる意図でＡＰＩが呼び出されるパターンなどがある。
【０００５】
電子機器の内部状態がＡＰＩを適切に処理できない状態でＡＰＩが呼び出されるパターンとしては、例えば、ログイン処理用のＡＰＩが呼び出されて電子機器がログイン処理を実行している状態で、ログイン処理用のＡＰＩが新たに呼び出されるパターンが存在する。電子機器の内部状態がＡＰＩを適切に処理できない状態でＡＰＩが呼び出されると、電子機器の処理が不適切なループに入ったりして、表示中の画面が固まったりなど、電子機器の動作が停止してしまうことがある。
【０００６】
本来の目的とは異なる意図でＡＰＩが呼び出されるパターンとしては、例えば、実行中のジョブを停止させるために、本来は、ジョブを停止させるためのＡＰＩが呼び出されるべきところ、ジョブの情報を消去するためのＡＰＩが、実行中のジョブに対して呼び出されるパターンが存在する。ジョブの情報を消去するためのＡＰＩが、実行中のジョブに対して呼び出された場合でも、実行中のジョブは、ジョブの情報が消去されたことによって停止するが、例えば、ジョブのログが適切に残らないなど、不具合が発生する場合がある。
【０００７】
従来、アプリケーションを動作させるプラットフォームを備える電子機器として、アプリケーションを動作させるＯＳ(Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ)を備え、アプリケーションの実行中に異常が発生した場合に、発生した異常に応じたトレースプログラムを動的に生成し、実行中のアプリケーションから必要な履歴情報をトレースプログラムによって取得して記憶する画像処理装置が知られている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−０４９３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載された画像処理装置においては、アプリケーションによるＡＰＩの呼び出しに関する不具合の原因を特定することが容易ではないという問題がある。
【００１０】
そこで、本発明は、アプリケーションによるＡＰＩの呼び出しに関する不具合の原因の特定を容易化することができる電子機器、プラットフォームおよびログアプリケーションを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の電子機器は、アプリケーションによって呼び出されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供するプラットフォームを備える電子機器であって、前記電子機器の内部状態の変化と、前記アプリケーションによる前記ＡＰＩの呼び出しとしてのＡＰＩコールの変化とのログを記憶するためのログアプリケーションを備え、前記プラットフォームは、前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログアプリケーションに通知する変化通知手段を前記電子機器に実現させ、前記ログアプリケーションは、前記変化通知手段によって通知された、前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログとして記憶するログ記憶手段を前記電子機器に実現させることを特徴とする。
【００１２】
この構成により、本発明の電子機器は、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とのログを記憶するので、アプリケーションによるＡＰＩの呼び出しに関する不具合の原因の特定を容易化することができる。
【００１３】
本発明の電子機器において、前記内部状態の変化、および、前記ＡＰＩコールの変化は、複数のカテゴリーに分類され、前記ログアプリケーションは、前記カテゴリーの指定を受け付けるカテゴリー受付手段を前記電子機器に実現させ、前記ログ記憶手段は、前記複数のカテゴリーのうち、前記カテゴリー受付手段によって指定が受け付けられた前記カテゴリーの、前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログとして記憶しても良い。
【００１４】
この構成により、本発明の電子機器は、指定されたカテゴリーのみの、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とをログとして記憶するので、ログの記憶の処理負担を軽減することができる。したがって、本発明の電子機器は、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とのログの記憶の機能が、その機能以外の機能の妨げになることを抑えることができる。また、本発明の電子機器は、指定されたカテゴリーのみの、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とをログとして記憶するので、ログのサイズを低減して作業者によるログの分析作業を容易化することができる。
【００１５】
本発明の電子機器において、前記変化通知手段は、前記複数のカテゴリーのうち、前記カテゴリー受付手段によって指定が受け付けられた前記カテゴリーの、前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログアプリケーションに通知しても良い。
【００１６】
この構成により、本発明の電子機器は、指定されたカテゴリーのみの、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とをプラットフォームからログアプリケーションに通知するので、プラットフォームからログアプリケーションへの通知負担を軽減することができる。したがって、本発明の電子機器は、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とのログの記憶の機能が、その機能以外の機能の妨げになることを抑えることができる。
【００１７】
本発明の電子機器において、前記ログ記憶手段は、前記電子機器の外部の記憶デバイスに前記ログを記憶しても良い。
【００１８】
この構成により、本発明の電子機器は、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とのログの記憶の機能以外の機能が使用する、電子機器の内部の記憶デバイスに、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とのログを記憶しないので、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とのログの記憶の機能が、その機能以外の機能の妨げになることを抑えることができる。
【００１９】
本発明のプラットフォームは、電子機器によって実行されるアプリケーションによって呼び出されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供するプラットフォームであって、前記電子機器の内部状態の変化と、前記アプリケーションによる前記ＡＰＩの呼び出しとしてのＡＰＩコールの変化とのログを記憶するためのログアプリケーションに、前記内部状態の変化、および、前記ＡＰＩコールの変化を通知する変化通知手段を前記電子機器に実現させることを特徴とする。
【００２０】
この構成により、本発明のプラットフォームを実行する電子機器は、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とのログを記憶するので、アプリケーションによるＡＰＩの呼び出しに関する不具合の原因の特定を容易化することができる。
【００２１】
本発明のログアプリケーションは、アプリケーションによって呼び出されるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供するプラットフォームを備える電子機器の内部状態の変化と、前記アプリケーションによる前記ＡＰＩの呼び出しとしてのＡＰＩコールの変化とのログを記憶するためのログアプリケーションであって、前記プラットフォームによって通知された前記内部状態の変化、および、前記ＡＰＩコールの変化を前記ログとして記憶するログ記憶手段を前記電子機器に実現させることを特徴とする。
【００２２】
この構成により、本発明のログアプリケーションを実行する電子機器は、電子機器の内部状態の変化と、アプリケーションによるＡＰＩコールの変化とのログを記憶するので、アプリケーションによるＡＰＩの呼び出しに関する不具合の原因の特定を容易化することができる。
【発明の効果】
【００２３】
本発明の電子機器、プラットフォームおよびログアプリケーションは、アプリケーションによるＡＰＩの呼び出しに関する不具合の原因の特定を容易化することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施の形態に係るＭＦＰのブロック図である。
【図２】ログ用情報のカテゴリーが指定される場合の図１に示すＭＦＰの動作のフローチャートである。
【図３】図２に示す動作において表示される情報カテゴリー指定画面の一例を示す図である。
【図４】ＭＦＰの内部状態の変化をログとして記憶する場合の図１に示すＭＦＰの動作のシーケンス図である。
【図５】ＡＰＩコールの変化をログとして記憶する場合の図１に示すＭＦＰの動作のシーケンス図である。
【図６】アプリケーションによって実行されたＡＰＩコールがログ対象カテゴリー情報に示されるカテゴリーのものではない場合の図１に示すＭＦＰにおける情報の流れを示す図である。
【図７】アプリケーションによって実行されたＡＰＩコールがログ対象カテゴリー情報に示されるカテゴリーのものである場合の図１に示すＭＦＰにおける情報の流れを示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明の一実施の形態について、図面を用いて説明する。
【００２６】
まず、本実施の形態に係る電子機器としてのＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の構成について説明する。
【００２７】
図１は、本実施の形態に係るＭＦＰ１０のブロック図である。
【００２８】
図１に示すように、ＭＦＰ１０は、種々の操作が入力されるボタンなどの入力デバイスである操作部１１と、種々の情報を表示するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示デバイスである表示部１２と、用紙などの記録媒体に画像を印刷する印刷デバイスであるプリンター１３と、原稿から画像を読み取る読取デバイスであるスキャナー１４と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部１５と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスである通信部１６と、ＳＤカード、ＵＳＢ(Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ)メモリーなどの、ＭＦＰ１０の外部の記憶デバイス９０が接続されるインターフェイス１７と、各種の情報を記憶する半導体メモリー、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの不揮発性の記憶デバイスである記憶部２０と、ＭＦＰ１０全体を制御する制御部３０とを備えている。
【００２９】
インターフェイス１７に接続される記憶デバイス９０は、ＭＦＰ１０の内部状態の変化と、後述のアプリケーションによる後述のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）の呼び出しとしてのＡＰＩコールの変化とをログ９１として記憶可能である。
【００３０】
以下、ＭＦＰ１０の内部状態の変化と、ＡＰＩコールの変化とを、ログ用情報と言う。ログ用情報は、例えば、ＭＦＰ１０のログインに関連するログイン関連のカテゴリー、ＭＦＰ１０によるジョブの実行に関連するジョブ実行関連のカテゴリー、ＭＦＰ１０のスリープ機能に関連するスリープ関連のカテゴリーなど、複数のカテゴリーに分類されている。
【００３１】
記憶部２０は、ファームウェア２１を記憶している。ファームウェア２１は、ＭＦＰ１０の製造段階でＭＦＰ１０にインストールされていても良いし、ＵＳＢメモリーなどの外部の記憶媒体からＭＦＰ１０に追加でインストールされても良いし、ネットワーク上からＭＦＰ１０に追加でインストールされても良い。
【００３２】
ファームウェア２１は、ファックス通信部１５を介してＦＡＸ送信したりＦＡＸ受信したりするＦＡＸ機能用のコンポーネント、印刷データに基づいてプリンター１３によって記録媒体に画像を印刷するプリント機能用のコンポーネント、特定の条件の場合にＭＦＰ１０の電源の少なくとも一部を落とすスリープ機能用のコンポーネントなど、ＭＦＰ１０の機能毎のコンポーネント２１ａを含んでいる。
【００３３】
ファームウェア２１は、後述のアプリケーションを動作させるためのプラットフォーム２１ｂを含んでいる。プラットフォーム２１ｂは、コンポーネント２１ａを利用するための様々なＡＰＩ２１ｃを含んでいる。
【００３４】
記憶部２０は、プラットフォーム２１ｂ上で動作する様々なアプリケーション２２を記憶可能である。アプリケーション２２としては、ログ９１を記憶するためのログアプリケーション２２ａも存在する。アプリケーション２２は、ＭＦＰ１０の製造段階でＭＦＰ１０にインストールされていても良いし、ＵＳＢメモリーなどの外部の記憶媒体からＭＦＰ１０に追加でインストールされても良いし、ネットワーク上からＭＦＰ１０に追加でインストールされても良い。
【００３５】
記憶部２０は、ログ９１として記憶する対象のログ用情報のカテゴリーを示すログ対象カテゴリー情報２３を記憶可能である。
【００３６】
制御部３０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、プログラムおよび各種のデータを記憶しているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＣＰＵの作業領域として用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを備えている。ＣＰＵは、ＲＯＭまたは記憶部２０に記憶されているプログラムを実行する。
【００３７】
制御部３０は、プラットフォーム２１ｂを実行することによって、ＭＦＰ１０の内部状態の変化と、ＡＰＩコールの変化とをログアプリケーション２２ａに通知する変化通知手段３１を実現する。
【００３８】
制御部３０は、ログアプリケーション２２ａを実行することによって、変化通知手段３１によって通知された、ＭＦＰ１０の内部状態の変化、および、ＡＰＩコールの変化をログ９１として記憶するログ記憶手段３２と、ログ用情報のカテゴリーの指定を受け付けるカテゴリー受付手段３３とを実現する。
【００３９】
次に、ＭＦＰ１０の動作について説明する。
【００４０】
まず、ログアプリケーション２２ａがインストールされる場合のＭＦＰ１０の動作について説明する。
【００４１】
例えば、ＭＦＰ１０の利用者は、アプリケーション２２の利用時に不具合が発生した場合、サービスパーソンに不具合の解消を依頼する。サービスパーソンは、アプリケーション２２の利用時に発生する不具合の解消がＭＦＰ１０の利用者から依頼されると、ＭＦＰ１０の設置場所に赴き、ログアプリケーション２２ａのインストールを操作部１１から指示する。したがって、ＭＦＰ１０の制御部３０は、ログアプリケーション２２ａをＭＦＰ１０にインストールする。
【００４２】
次に、ログ用情報のカテゴリーが指定される場合のＭＦＰ１０の動作について説明する。
【００４３】
図２は、ログ用情報のカテゴリーが指定される場合のＭＦＰ１０の動作のフローチャートである。
【００４４】
ＭＦＰ１０にログアプリケーション２２ａがインストールされた後、ログ用情報のカテゴリーを指定するための情報カテゴリー指定画面４０（図３参照。）の表示をサービスパーソンが操作部１１を介して指示すると、制御部３０は、図２に示す動作を実行する。
【００４５】
図２に示すように、カテゴリー受付手段３３は、情報カテゴリー指定画面４０を表示部１２に表示する（Ｓ１０１）。
【００４６】
図３は、情報カテゴリー指定画面４０の一例を示す図である。
【００４７】
図３に示す情報カテゴリー指定画面４０は、ログイン関連のカテゴリーのログ用情報を記憶するか否かを指定するためのトグルスイッチ４１と、ジョブ実行関連のカテゴリーのログ用情報を記憶するか否かを指定するためのトグルスイッチ４２と、スリープ関連のカテゴリーのログ用情報を記憶するか否かを指定するためのトグルスイッチ４３と、ＯＫボタン４４とを含んでいる。
【００４８】
ログイン関連のカテゴリーのログ用情報の具体例について説明する。ＭＦＰ１０の内部状態の変化としては、例えば、「ログイン要求受付中の状態」への変化、「ログイン処理中の状態」への変化、「ログイン中の状態」への変化、「ログアウト処理中の状態」への変化などが存在する。ＡＰＩコールの変化としては、例えば、ログイン処理用のＡＰＩ２１ｃの呼び出しの発生、ログアウト処理用のＡＰＩ２１ｃの呼び出しの発生などが存在する。
【００４９】
ジョブ実行関連のカテゴリーのログ用情報の具体例について説明する。ＭＦＰ１０の内部状態の変化としては、例えば、「スキャン中の状態」への変化、「スキャン完了の状態」への変化、「ＦＡＸ中の状態」への変化、「ＦＡＸ完了の状態」への変化、「コピー中の状態」への変化、「コピー完了の状態」への変化などが存在する。ＡＰＩコールの変化としては、例えば、ジョブの情報の作成用のＡＰＩ２１ｃの呼び出しの発生、カラー、モノクロなど、ジョブの設定の変更用のＡＰＩ２１ｃの呼び出しの発生、ジョブの実行用のＡＰＩ２１ｃの呼び出しの発生などが存在する。
【００５０】
スリープ関連のカテゴリーのログ用情報の具体例について説明する。ＭＦＰ１０の内部状態の変化としては、例えば、「通常の起動状態からスリープ状態への移行中の状態」への変化、「スリープ状態」への変化、「スリープ状態から通常の起動状態への移行中の状態」への変化、「通常の起動状態」への変化などが存在する。ＡＰＩコールの変化としては、例えば、通常の起動状態からスリープ状態への移行用のＡＰＩ２１ｃの呼び出しの発生、スリープ状態から通常の起動状態への移行用のＡＰＩ２１ｃの呼び出しの発生などが存在する。
【００５１】
図２に示すように、カテゴリー受付手段３３は、ＯＫボタン４４が押されたと判断するまで、ＯＫボタン４４が押されたか否かを判断する（Ｓ１０２）。
【００５２】
カテゴリー受付手段３３は、ＯＫボタン４４が押されたとＳ１０２において判断すると、ＯＫボタン４４が押された時点でログ用情報を記憶することがトグルスイッチ４１〜４３によって指定されていたカテゴリーをログ対象カテゴリー情報２３に記憶する（Ｓ１０３）。
【００５３】
次いで、カテゴリー受付手段３３は、表示部１２による情報カテゴリー指定画面４０の表示を終了して（Ｓ１０４）、図２に示す動作を終了する。
【００５４】
サービスパーソンは、図２に示す動作の後、ＭＦＰ１０の利用者から聞き取った、不具合が発生した状況を、ログ９１の記憶のために再現する。
【００５５】
次に、ログ９１を記憶する場合のＭＦＰ１０の動作について説明する。
【００５６】
まず、ＭＦＰ１０の内部状態の変化をログ９１として記憶する場合のＭＦＰ１０の動作について説明する。
【００５７】
図４は、ＭＦＰ１０の内部状態の変化をログ９１として記憶する場合のＭＦＰ１０の動作のシーケンス図である。
【００５８】
ＭＦＰ１０の内部状態が変化すると、図４に示すように、変化通知手段３１は、変化した内部状態がログ対象カテゴリー情報２３に示されるカテゴリーのものであるか否かを判断する（Ｓ１３１）。
【００５９】
変化通知手段３１は、変化した内部状態がログ対象カテゴリー情報２３に示されるカテゴリーのものであるとＳ１３１において判断すると、この変化をログアプリケーション２２ａに通知する（Ｓ１３２）。すなわち、変化通知手段３１は、オブザーバー通知を実行する。
【００６０】
したがって、ログ記憶手段３２は、Ｓ１３２において通知されてきた、ＭＦＰ１０の内部状態の変化をログ９１として記憶する（Ｓ１３３）。
【００６１】
なお、変化通知手段３１は、変化した内部状態がログ対象カテゴリー情報２３に示されるカテゴリーのものではないとＳ１３１において判断すると、この変化をログアプリケーション２２ａに通知しない。したがって、この変化は、ログ９１として記憶されない。
【００６２】
次に、ＡＰＩコールの変化をログ９１として記憶する場合のＭＦＰ１０の動作について説明する。
【００６３】
図５は、ＡＰＩコールの変化をログ９１として記憶する場合のＭＦＰ１０の動作のシーケンス図である。
【００６４】
図５に示すように、アプリケーション２２がＡＰＩコールを実行する（Ｓ１６１）と、プラットフォーム２１ｂは、Ｓ１６１において実行されたＡＰＩコールに応じてＡＰＩ２１ｃによってコンポーネント２１ａに動作の実行を指示する（Ｓ１６２）。
【００６５】
コンポーネント２１ａは、Ｓ１６２において指示された動作を実行する（Ｓ１６３）と、実行結果をＡＰＩ２１ｃに通知する（Ｓ１６４）。したがって、プラットフォーム２１ｂは、Ｓ１６４において通知されてきた実行結果をアプリケーション２２に通知する（Ｓ１６５）。
【００６６】
変化通知手段３１は、Ｓ１６４において実行結果が通知されてくると、Ｓ１６１において実行されたＡＰＩコールがログ対象カテゴリー情報２３に示されるカテゴリーのものであるか否かを判断する（Ｓ１６６）。
【００６７】
変化通知手段３１は、Ｓ１６１において実行されたＡＰＩコールがログ対象カテゴリー情報２３に示されるカテゴリーのものであるとＳ１６６において判断すると、このＡＰＩコールの変化をログアプリケーション２２ａに通知する（Ｓ１６７）。すなわち、変化通知手段３１は、オブザーバー通知を実行する。
【００６８】
したがって、ログ記憶手段３２は、Ｓ１６７において通知されてきた、ＡＰＩコールの変化をログ９１として記憶する（Ｓ１６８）。
【００６９】
なお、変化通知手段３１は、Ｓ１６１において実行されたＡＰＩコールがログ対象カテゴリー情報２３に示されるカテゴリーのものではないとＳ１６６において判断すると、このＡＰＩコールの変化をログアプリケーション２２ａに通知しない。したがって、このＡＰＩコールの変化は、ログ９１として記憶されない。
【００７０】
すなわち、プラットフォーム２１ｂは、アプリケーション２２によって実行されたＡＰＩコールがログ対象カテゴリー情報２３に示されるカテゴリーのものではない場合、図６に示すように、アプリケーション２２およびコンポーネント２１ａとの間で従来通りの情報のやり取りを行うが、アプリケーション２２によって実行されたＡＰＩコールがログ対象カテゴリー情報２３に示されるカテゴリーのものである場合、図７に示すように、アプリケーション２２およびコンポーネント２１ａとの間で従来通りの情報のやり取りを行うだけでなく、ログアプリケーション２２ａにＡＰＩコールの変化を通知する。
【００７１】
サービスパーソンは、ＭＦＰ１０の利用者から聞き取った、不具合が発生した状況を再現した後、ＭＦＰ１０によって記憶されたログ９１を解析することによって、不具合の原因を特定し、不具合を解消する。
【００７２】
なお、サービスパーソンは、不具合の原因の特定後などに、ログアプリケーション２２ａをＭＦＰ１０からアンインストールすることができる。
【００７３】
以上に説明したように、ＭＦＰ１０は、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とのログ９１を記憶するので、アプリケーション２２によるＡＰＩ２１ｃの呼び出しに関する不具合の原因の特定を容易化することができる。
【００７４】
ＭＦＰ１０は、指定されたカテゴリーのみの、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とをログ９１として記憶するので、ログ９１の記憶の処理負担を軽減することができる。したがって、ＭＦＰ１０は、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とのログ９１の記憶の機能が、その機能以外の機能（例えば、ＦＡＸ機能、プリント機能、スリープ機能、ログ９１以外のログの記憶の機能など。）の妨げになることを抑えることができる。
【００７５】
ＭＦＰ１０は、指定されたカテゴリーのみの、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とをログ９１として記憶するので、ログ９１のサイズを低減して作業者によるログ９１の分析作業を容易化することができる。
【００７６】
ＭＦＰ１０は、指定されたカテゴリーのみの、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とをプラットフォーム２１ｂからログアプリケーション２２ａに通知するので、プラットフォーム２１ｂからログアプリケーション２２ａへの通知負担を軽減することができる。したがって、ＭＦＰ１０は、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とのログ９１の記憶の機能が、その機能以外の機能の妨げになることを抑えることができる。
【００７７】
ＭＦＰ１０は、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とのログ９１の記憶の機能以外の機能が使用する、ＭＦＰ１０の内部の記憶デバイス（例えば、記憶部２０、制御部３０のＲＡＭなど。）に、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とのログ９１を記憶しないので、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とのログ９１の記憶の機能が、その機能以外の機能の妨げになることを抑えることができる。
【００７８】
なお、ＭＦＰ１０が外部の記憶デバイス９０に情報を書き込む場合は、ＭＦＰ１０が内部の記憶デバイスに情報を書き込む場合と比較して、一般的に情報の書き込み速度が遅い。しかしながら、ログ９１は、一回の書き込みで書き込まれる情報の量がそもそも少なく、書き込み頻度もそれほど多くない。したがって、ＭＦＰ１０は、外部の記憶デバイス９０にログ９１を記憶する場合であっても、適切にログ９１を記憶することができる。
【００７９】
ＭＦＰ１０は、ＭＦＰ１０の内部の記憶デバイスに、ＭＦＰ１０の内部状態の変化と、アプリケーション２２によるＡＰＩコールの変化とのログを記憶しても良い。
【００８０】
本発明の電子機器は、本実施の形態においてＭＦＰであるが、プリンター専用機、コピー専用機など、ＭＦＰ以外の画像形成装置でも良いし、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）など、画像形成装置以外の電子機器でも良い。
【符号の説明】
【００８１】
１０  ＭＦＰ（電子機器）
２１ｂ  プラットフォーム
２１ｃ  ＡＰＩ
２２  アプリケーション
２２ａ  ログアプリケーション
３１  変化通知手段
３２  ログ記憶手段
３３  カテゴリー受付手段
９０  記憶デバイス
９１  ログ
【図１】
2018136651.tif 000003
【図２】
2018136651.tif 000004
【図３】
2018136651.tif 000005
【図４】
2018136651.tif 000006
【図５】
2018136651.tif 000007
【図６】
2018136651.tif 000008
【図７】
2018136651.tif 000009