(57)【特許請求の範囲】
【請求項１】
ログを記憶するログ記憶部と、
前記ログ記憶部の最大記憶容量から、前記ログ記憶部に記憶されている前記ログの量を表すログ量がローテーション処理を実行する値に達したかを判定するローテーション閾値を減算した第１差分値が、１件の前記ログのサイズの最大値より大きいか否かを判定する第１判定部と、
前記ローテーション閾値から前記ローテーション閾値より小さい値であって前記ログ量が前記最大記憶容量に近いことを表すログフル閾値を減算した第２差分値に、１件の前記ログのサイズの最小値を加算した算出値が、削除件数と前記最大値との積より大きいか否かを判定し、前記算出値が前記積より大きいと判定される前記削除件数を、前記ローテーション処理で削除するログの削除件数として決定する第２判定部と、
前記第１差分値が前記最大値より大きいと判定された場合に、第２判定部により決定された前記削除件数の前記ログを前記ローテーション処理で削除する削除部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ログ記憶部への記憶が要求された前記ログのサイズの最大値および最小値を記憶するサイズ記憶部とをさらに備え、
前記第１判定部は、前記サイズ記憶部に記憶される前記最大値が更新されたときに、前記第１差分値が前記サイズ記憶部に記憶された前記最大値より大きいか否かを判定し、
前記第２判定部は、前記サイズ記憶部に記憶される前記最大値および前記最小値の少なくとも一方が更新されたときに、前記第２差分値に、前記サイズ記憶部に記憶された前記最小値を加算した前記算出値が、前記削除件数と前記サイズ記憶部に記憶された前記最大値との積より大きいか否かを判定すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１判定部により、前記第１差分値が前記サイズ記憶部に記憶された前記最大値以下であると判定された場合、または、前記第２判定部により、前記第２差分値に前記サイズ記憶部に記憶された前記最小値を加算した前記算出値が、前記削除件数と前記サイズ記憶部に記憶された前記最大値との積以下であると判定された場合に、前記ローテーション閾値および前記ログフル閾値を更新する更新部をさらに備え、
前記第１判定部は、さらに、前記最大記憶容量から更新された前記ローテーション閾値を減算した前記第１差分値が前記最大値より大きいか否かを判定し、
前記第２判定部は、さらに、更新された前記ローテーション閾値から更新された前記ログフル閾値を減算した前記第２差分値に前記最小値を加算した前記算出値が、前記削除件数と前記最大値との積より大きいか否かを判定すること、
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記更新部は、取得されたサイズが前記最小値以上かつ前記最大値以下でない場合に、前記ローテーション閾値および前記ログフル閾値を、ユーザにより選択された値に更新すること、
を特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ローテーション閾値と、前記ログフル閾値とを記憶する閾値記憶部をさらに備え、
前記更新部は、さらに、更新した前記ローテーション閾値と、更新した前記ログフル閾値とを前記閾値記憶部に保存し、
前記第１判定部は、前記最大記憶容量から、前記閾値記憶部に記憶された前記ローテーション閾値を減算した前記第１差分値が、前記最大値より大きいか否かを判定し、
前記第２判定部は、前記閾値記憶部に記憶された前記ローテーション閾値から前記閾値記憶部に記憶された前記ログフル閾値を減算した前記第２差分値に前記最小値を加算した算出値が、前記削除件数と前記最大値との積より大きいか否かを判定すること、
を特徴とする請求項３に記載の情報処理装置。
【請求項６】
アプリケーションがインストールされるときに、前記アプリケーションが出力するログのサイズの最小値および最大値を取得するサイズ取得部をさらに備え、
前記第１判定部は、前記アプリケーションがインストールされるときに、前記第１差分値が前記サイズ取得部により取得された最大値より大きいか否かを判定し、
前記第２判定部は、前記アプリケーションがインストールされるときに、前記第２差分値に、前記サイズ取得部により取得された最小値を加算した前記算出値が、前記削除件数と前記サイズ取得部により取得された最大値との積より大きいか否かを判定すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記サイズ取得部は、さらに、前記ログ記憶部への記憶が要求された前記ログのサイズを取得し、
前記ログ記憶部は、取得されたサイズが前記アプリケーションが出力するログのサイズの最小値以上かつ最大値以下でない場合に、記憶が要求された前記ログを記憶しないこと、
を特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記削除部は、記憶が要求された前記ログを前記ログ記憶部に記憶したときに、前記ローテーション処理を実行すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記削除部は、指定された処理の単位であるジョブが完了したときに、前記ローテーション処理を実行すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記削除部は、前記ログ記憶部に記憶した前記ログの次のログに対して前記ログ記憶部への記憶が要求されたときに、前記ローテーション処理を実行すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項１１】
第１判定部が、ログを記憶するログ記憶部の最大記憶容量から、前記ログ記憶部に記憶されている前記ログの量を表すログ量がローテーション処理を実行する値に達したかを判定するローテーション閾値を減算した第１差分値が、１件の前記ログのサイズの最大値より大きいか否かを判定する第１判定ステップと、
第２判定部が、前記ローテーション閾値から前記ローテーション閾値より小さい値であって前記ログ量が前記最大記憶容量に近いことを表すログフル閾値を減算した第２差分値に、１件の前記ログのサイズの最小値を加算した算出値が、削除件数と前記最大値との積より大きいか否かを判定し、前記算出値が前記積より大きいと判定される前記削除件数を、前記ローテーション処理で削除するログの削除件数として決定する第２判定ステップと、
削除部が、前記第１差分値が前記最大値より大きいと判定された場合に、第２判定ステップにより決定された前記削除件数の前記ログを前記ローテーション処理で削除する削除ステップと、
を含むログ管理方法。
【請求項１２】
コンピュータを、
ログを記憶するログ記憶部の最大記憶容量から、前記ログ記憶部に記憶されている前記ログの量を表すログ量がローテーション処理を実行する値に達したかを判定するローテーション閾値を減算した第１差分値が、１件の前記ログのサイズの最大値より大きいか否かを判定する第１判定部と、
前記ローテーション閾値から前記ローテーション閾値より小さい値であって前記ログ量が前記最大記憶容量に近いことを表すログフル閾値を減算した第２差分値に、１件の前記ログのサイズの最小値を加算した算出値が、削除件数と前記最大値との積より大きいか否かを判定し、前記算出値が前記積より大きいと判定される前記削除件数を、前記ローテーション処理で削除するログの削除件数として決定する第２判定部と、
前記第１差分値が前記最大値より大きいと判定された場合に、第２判定部により決定された前記削除件数の前記ログを前記ローテーション処理で削除する削除部、
として機能させるためのログ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ログ管理方法およびログ管理プログラムに関する。
【背景技術】
【０００２】
ログの管理方法として、ログのローテーション機能等を備えるＳｙｓｌｏｇと呼ばれる規格が知られている。Ｓｙｓｌｏｇでは、複数のファイル間でログのローテーションを実現する。また、特許文献１でも、複数のログファイルを用いたログファイルローテーションに関する技術が提案されている。
【０００３】
一方、１つのファイル（記憶領域）のみを用いてログのローテーションを実現する方法も存在する。この方法では、例えば当該ファイルの記憶容量が所定の閾値（ローテーション閾値）を超えた場合に、ログの新規作成と同時に古いログ群を削除することによりログのローテーションを行う。また、この方法では、ローテーション閾値と異なる閾値を用いてログの記憶状態をより詳細に管理する場合がある。
【０００４】
例えば、上記ローテーション閾値とは独立に、記憶領域の１００％近くまでログが記憶されていることを表すログフル閾値が用いてログの記憶状態が管理される。そして、例えばログフル閾値を超えている状態からログフル閾値以下の状態に遷移した場合、ログが消失した可能性を示す警告メールが機器管理者に送信される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のように１つのファイルでログのローテーションを行う方法では、削除するログの容量が一定にならず、ログの記憶状態を適切に管理できない場合があった。この問題は、記憶するログのサイズが一定ではないことに起因する。すなわち、ログのサイズがそれぞれ異なるため、例えば１件分の古いログを削除したとしても、追加するログ１件分の記憶容量が確保される保障はない。このため、通常は十分な記憶容量を確保しうる複数件数の古いログが削除される。
【０００６】
ところが、この方法では、削除するログのサイズが大きい場合、複数件数のログを削除することにより、必要以上に記憶領域が確保されるという問題がさらに生じうる。このため、上記のようにログフル閾値以下の状態に遷移した場合に警告メールが送信される構成では、ログのローテーション処理により不要な警告が誤って出力されるという問題が生じる可能性がある。
【０００７】
本発明は、上記に鑑みてなされたものであって、ログのローテーション時に削除するログの容量を適切に決定可能な情報処理装置、ログ管理方法およびログ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ログを記憶するログ記憶部と、前記ログ記憶部の最大記憶容量から、前記ログ記憶部に記憶されている前記ログの量を表すログ量がローテーション処理を実行する値に達したかを判定するローテーション閾値を減算した第１差分値が、１件の前記ログのサイズの最大値より大きいか否かを判定する第１判定部と、前記ローテーション閾値から前記ローテーション閾値より小さい値であって前記ログ量が前記最大記憶容量に近いことを表すログフル閾値を減算した第２差分値に、１件の前記ログのサイズの最小値を加算した算出値が、削除件数と前記最大値との積より大きいか否かを判定し、前記算出値が前記積より大きいと判定される前記削除件数を、前記ローテーション処理で削除するログの削除件数として決定する第２判定部と、前記第１差分値が前記最大値より大きいと判定された場合に、第２判定部により決定された前記削除件数の前記ログを前記ローテーション処理で削除する削除部と、を備えることを特徴とする。
【０００９】
また、本発明は、上記装置で実行できる方法およびプログラムである。
【発明の効果】
【００１０】
本発明によれば、ログのローテーション時に削除するログの容量を適切に決定できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施の形態にかかる画像形成装置のハードウェア構成を例示する図である。
【図２】図２は、閾値表に記憶されるデータのデータ構造の一例を示す図である。
【図３】図３は、データサイズ表に記憶されるデータのデータ構造の一例を示す図である。
【図４】図４は、第１の実施の形態にかかる画像形成装置のソフトウェア構成を例示するブロック図である。
【図５】図５は、ジョブログの状態の一例を示す図である。
【図６】図６は、状態遷移時の動作（振る舞い）の一例を説明するための図である。
【図７】図７は、ログローテーション処理の概要を説明するための図である。
【図８】図８は、ローテーション閾値の定義を説明するための図である。
【図９】図９は、フル状態の定義を説明するための図である。
【図１０】図１０は、削除件数の決定方法の具体例を示す図である。
【図１１】図１１は、第１の実施の形態における削除件数決定処理の全体の流れを示すフローチャートである。
【図１２】図１２は、第１の実施の形態におけるログ記録処理の全体の流れを示すシーケンス図である。
【図１３】図１３は、第２の実施の形態にかかる画像形成装置のソフトウェア構成を例示するブロック図である。
【図１４】図１４は、第２の実施の形態における閾値更新処理の全体の流れを示すフローチャートである。
【図１５】図１５は、このように構成した第２の実施の形態の変形例１における閾値更新処理の全体の流れを示すフローチャートである。
【図１６】図１６は、第３の実施の形態にかかる画像形成装置のソフトウェア構成を例示するブロック図である。
【図１７】図１７は、データリストに記憶されるデータのデータ構造の一例を示す図である。
【図１８】図１８は、第３の実施の形態におけるデフォルト値更新処理の全体の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかる情報処理装置、ログ管理方法およびログ管理プログラムの好適な実施の形態を詳細に説明する。
【００１３】
以下では、本発明の情報処理装置を、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも２つの機能を有する複合機などの画像形成装置として実現した例を説明する。適用可能な装置はこれに限られるものではなく、アプリケーション等のログを管理する機能を備えたものであればあらゆる装置に適用できる。例えば、複合機以外の複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像形成装置に適用してもよい。
【００１４】
なお、画像形成装置の場合、例えばユーザがコピー機能を利用すると、利用時の日時、ユーザ名、および設定パラメタ（カラーモード、用紙サイズなど）を含むログ（ジョブログ）が画像形成装置内部に記録される。記録されたジョブログは、課金金額の振り分け、エラー時の状況確認などを目的として利用される。
【００１５】
（第１の実施の形態）
図１は、本実施の形態にかかる画像形成装置のハードウェア構成を例示する図である。画像形成装置１０は、コントローラ６０と、オペレーションパネル８０と、ＦＣＵ８１と、エンジン部８２とを含む。コントローラ６０は、ＣＰＵ６１と、システムメモリ（ＭＥＭ−Ｐ）６２と、ノースブリッジ（ＮＢ）６３と、ＡＳＩＣ６６と、ローカルメモリ（ＭＥＭ−Ｃ）６７と、ＨＤＤ（ハードディスクドライブ）６８と、ネットワークインタフェースカード（ＮＩＣ）６９と、メモリカードインタフェース（Ｉ／Ｆ）７０と、ＵＳＢ（Universal Serial Bus）７１と、ＩＥＥＥ１３９４Ｉ／Ｆ７２と、ＩＥＥＥ８０２．１１ｂＩ／Ｆ７３と、ＷｉｒｅｌｅｓｓＵＳＢ７５と、ＵＳＢホスト７６と、シリアルバス７７とを含む。
【００１６】
オペレーションパネル８０は、コントローラ６０のＡＳＩＣ６６に接続されている。また、ＦＣＵ８１、エンジン部８２、およびその他のハードウェアリソース８４は、コントローラ６０のＡＳＩＣ６６にＰＣＩバス８３で接続されている。コントローラ６０は、ＡＳＩＣ６６にローカルメモリ６７、ＨＤＤ６８などが接続されると共に、ＣＰＵ６１とＡＳＩＣ６６とがＣＰＵチップセットのＮＢ６３を介して接続されている。コントローラ６０は、ＮＢ６３を介してＣＰＵ６１とＡＳＩＣ６６とを接続することにより、ＣＰＵ６１のインタフェースが公開されていない場合に対応する。
【００１７】
ＮＢ６３は、ＣＰＵ６１、システムメモリ６２、ＡＳＩＣ６６、ＮＩＣ６９、メモリカードＩ／Ｆ７０、ＵＳＢ７１、ＩＥＥＥ１３９４Ｉ／Ｆ７２と、ＩＥＥＥ８０２．１１ｂＩ／Ｆ７３、ＷｉｒｅｌｅｓｓＵＳＢ７５、ＵＳＢホスト７６及びシリアルバス７７を接続するためのブリッジである。ＮＩＣ６９、メモリカードＩ／Ｆ７０、ＵＳＢ７１、ＩＥＥＥ１３９４Ｉ／Ｆ７２と、ＩＥＥＥ８０２．１１ｂＩ／Ｆ７３、ＷｉｒｅｌｅｓｓＵＳＢ７５、ＵＳＢホスト７６及びシリアルバス７７は、ＰＣＩバス７４を介してＮＢ６３に接続されている。
【００１８】
ＣＰＵ６１は、ＮＢ６３を介して接続されるＭＥＭ−Ｐ６２やＭＥＭ−Ｃ６７やＨＤＤ６８や記憶された各種ソフトウェアを読み出してこれを起動し、画像形成装置１０全体を制御すると共に、各種機能を実現させる。
【００１９】
ＭＥＭ−Ｐ６２は、画像形成装置１０の描画用メモリなどとして用いるメモリである。ＭＥＭ−Ｃ６７はコピー用画像バッファ、符号バッファとして用いるメモリである。ＡＳＩＣ６６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ６８は、画像データや、文書データや、各種ソフトウェアや、フォントデータフォームなどを記憶する補助記憶装置である。
【００２０】
本実施の形態では、ＨＤＤ６８は、図示しないログ記憶部、閾値表（閾値記憶部）、およびデータサイズ表を含んでいる。ログ記憶部は、画像形成装置１０のログを永続的に記憶する記憶領域である。以下では、ＨＤＤ６８の一部の記憶領域をログ記憶部とする場合を例に説明するが、ＨＤＤ６８とは独立の記憶媒体をログ記憶部とするように構成してもよい。
【００２１】
閾値表は、ログの管理に用いる閾値等を記憶する。図２は、閾値表に記憶されるデータのデータ構造の一例を示す図である。図２に示すように、閾値表は、ニアフル閾値と、ログフル閾値と、ローテーション閾値と、限界値と、差異許容値とを含んでいる。限界値とは、ログ記憶部の記憶容量の最大値（最大記憶容量）を表す。差異許容値とは、ニアフル閾値とログフル閾値との差異として許容される最小値を表す。なお、第１の実施の形態では差異許容値は必須ではない。各閾値の詳細については後述する。
【００２２】
データサイズ表は、ログ記憶部に記憶されるログのデータサイズを記憶する。図３は、データサイズ表に記憶されるデータのデータ構造の一例を示す図である。図３に示すように、データサイズ表は、ログのデータサイズの最小値と最大値とを記憶する。
【００２３】
図１に戻り、ＮＩＣ６９は、画像形成装置１０をネットワークに接続するインタフェース機器である。メモリカードＩ／Ｆ７０は、画像形成装置１０に着脱自在に装着されるメモリカード７８との通信を制御する。ＵＳＢ７１、ＩＥＥＥ１３９４Ｉ／Ｆ７２、ＩＥＥＥ８０２．１１ｂＩ／Ｆ７３、ＷｉｒｅｌｅｓｓＵＳＢ７５及びシリアルバス７７は、夫々の規格に準じたインタフェースである。尚、ＷｉｒｅｌｅｓｓＵＳＢ７５は、ＵＳＢを無線通信のために拡張したＷｉｒｅｌｅｓｓＵＳＢの規格に準じる。ＵＳＢホスト７６は、画像形成装置１０に着脱自在に装着されるＵＳＢメモリ７９との通信を制御する。
【００２４】
オペレーションパネル８０は、オペレータからの指示入力を受け付けると共に、オペレータに向けた表示を行う。エンジン部８２は、画像を処理する画像処理手段として、プロッタ１２と、スキャナ１３と、エンジン制御ボード（図示せず）とを有する。プロッタ１２は、例えば、白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタなどである。スキャナは、セットされた用紙を走査して画像を読み取る。エンジン制御ボードは、ＣＰＵ６１の制御の下、エンジン部８２を制御する。ＦＣＵ８１は、ファクシミリ通信を制御するユニットであり、図示しないメモリを有する。このメモリは、例えば画像形成装置１０の電源がＯＦＦのときに受信したファクシミリデータを一時的に格納するために利用される。
【００２５】
次に、画像形成装置１０のソフトウェア構成について説明する。図４は、第１の実施の形態にかかる画像形成装置のソフトウェア構成を例示するブロック図である。図４に示すように、画像形成装置１０は、主なソフトウェア構成として、アプリケーション１００と、サービス２００と、共通メカニズム３００と、ＯＳ４００とを備えている。
【００２６】
アプリケーション１００は、ユーザが識別可能な単位の各種機能を提供するプログラムである。アプリケーション１００は、コピーアプリ１０１と、プリンタアプリ１０２と、ジョブコントローラ１０３とを備えている。
【００２７】
コピーアプリ１０１は、紙原稿を入力として複製紙を作成するコピー機能を提供する。プリンタアプリ１０２は、電子原稿を入力として、複製紙を作成するプリンタ機能を提供する。ジョブコントローラ１０３は、ユーザにより指定された処理の単位であるジョブの実行順、およびジョブごとの実行／中断／再開などの処理を制御する。
【００２８】
なお、アプリケーション１００は上記に限られるものではなく、ファクス機能を実現するためのファクスアプリ、および、スキャナ機能を実現するためのスキャナアプリなどを備えてもよい。
【００２９】
サービス２００は、複数のアプリケーションが共通に利用する機能を実現するプログラムである。サービス２００は、主に、各ハードウェアを制御して各ハードウェアの機能をアプリケーション１００に提供する。サービス２００は、ユーザインタフェースサービス２０１と、データベースサービス２０２と、通信サービス２０３とを備えている。
【００３０】
ユーザインタフェースサービス２０１は、オペレーションパネル８０、および画像形成装置１０に接続されるＰＣ（パーソナルコンピュータ）などの外部機器の画面などのユーザインタフェースを制御する。
【００３１】
データベースサービス２０２は、ＨＤＤ６８などの記憶部に対するデータの作成、参照、更新、および削除などの処理を制御する。
【００３２】
通信サービス２０３は、ＮＩＣ６９などを介する外部機器との間のデータ通信処理を制御する。
【００３３】
共通メカニズム３００は、アプリケーション１００およびサービス２００が共通に利用する機能を提供するプログラムである。共通メカニズム３００は、プラグイン管理部３０１と、ユーザ認証部３０２と、ログ管理部３０３とを備えている。
【００３４】
プラグイン管理部３０１は、コンポーネント（アプリケーション）の追加、更新、削除、および正当性確認などの処理を制御する。
【００３５】
ユーザ認証部３０２は、管理者を含むユーザの識別および本人確認を行うユーザ認証処理を制御する。
【００３６】
ログ管理部３０３は、画像形成装置１０のログの出力、ログのローテーション処理などのログに関する各種処理を制御する。ログ管理部３０３は、ログのローテーションを実行する各種条件を判定する判定部３１１と、決定された件数の最古のログを削除する削除部３１２とを備えている。判定部３１１および削除部３１２の機能の詳細については後述する。
【００３７】
ＯＳ４００は、ハードウェアリソースを含めた画像形成装置１０の資源を管理し、サービス２００やアプリケーション１００に対して当該資源を利用した機能を提供する。
【００３８】
次に、ジョブログの管理方法の詳細について図５〜図９を用いて説明する。図５は、ジョブログの状態の一例を示す図である。
【００３９】
図５は、ジョブログを記憶するログ記憶部（以下、ジョブログの永続領域ともいう）の使用割合に応じて３つの状態でジョブログを管理する例を示している。すなわち、永続領域の使用割合は、標準、ニアフル、およびフルの３状態で管理される。標準状態は、例えばジョブログが８０％まで記録された状態を示す。ニアフル状態は、例えばジョブログが８０％〜９０％まで記録された状態を示す。また、フル状態は、例えばジョブログが９０％以上記録された状態を示す。
【００４０】
なお、標準状態およびニアフル状態の境界を定める閾値が、上記閾値表のニアフル閾値に相当する。また、ニアフル状態およびフル状態の境界を定める閾値が、ログフル閾値に相当する。
【００４１】
図６は、状態遷移時の動作（振る舞い）の一例を説明するための図である。図６では、フル状態からニアフル状態への遷移６０１、ニアフル状態からフル状態への遷移６０２、およびニアフル状態から標準状態への遷移６０３で、所定の動作を実行する例が示されている。所定の動作とは、管理者へのメール通知などを意味する。例えば、遷移６０１では、フル状態が解除され、ログが消失されたことを表す警告メールを管理者に送信するという動作が実行される。なお、例えばフル状態から標準状態に２段階に遷移した場合は、２段階に相当する２つの動作を順序どおりに実行する。図６の例では、遷移６０１に対して定められた動作と、遷移６０３に対して定められた動作が順次実行される。
【００４２】
図７は、ログローテーション処理の概要を説明するための図である。ログ記憶部がフル状態の場合、多少の記憶領域の余裕が存在するため、新たなログを記録することができる。しかし、そのまま新しいログを書き続けると、ログ記憶部の使用割合が１００％に達し、ログが記録できなくなる。そこで、フル状態を維持したまま新しいログを記録するために、ログの新規作成と同時に古いログ群を削除するローテーション処理が実行される。
【００４３】
図７では、記憶日時が最古のログＮ件（Ｎは１以上の整数）を削除する例が示されている。また、図７に示すように、ローテーション処理は、ログフル閾値より大きい予め定められたローテーション閾値を超えた場合に実行される。
【００４４】
なお、実際には新たなログを記録せず、古いログの削除のみを実行する場合もある。また、ログ容量（ログ記憶部に記録されているログの容量）の判定はファイルサイズ単位（ログ記憶部のサイズ単位）を基準とするが、ログの追加および削除は件数単位となる点に注意を要する。
【００４５】
図８は、ローテーション閾値の定義を説明するための図である。ローテーション閾値は、上述のようにローテーション処理により古いログを削除するためのトリガとするデータサイズの閾値を表す。すなわち、ログの追加により、ログ容量が当該ローテーション閾値を超えた場合に（図８の（１））、最古のログを削除するローテーション処理が実行される（図８の（２））。ローテーション閾値は、基本的にログフル閾値より大きい値をとる。
【００４６】
図９は、フル状態（ログフルともいう）の定義を説明するための図である。ログフルとは、ログの記憶領域（ログ記憶部）が１００％に近い領域まで利用されている状態を表す。具体的には、ログフルは、ログ容量が上述のログフル閾値を超えた状態を表す。例えば、ログフル閾値が９０％であったとすると、ログ容量が９０％〜１００％のいずれであっても、ログフルの状態である。また、ログフルは、ローテーション閾値には依存しない。すなわち、ログフル閾値を超えていれば、ローテーション閾値を超えているか否かによらず、ログフルの状態である。
【００４７】
次に、ローテーション処理で削除する最古ログの削除件数Ｎの決定方法の詳細について説明する。
【００４８】
削除件数Ｎは、ログフル時のログの追加およびログの削除後に、ログ記憶部がログフルの状態を維持し、かつ、ログ容量がローテーション閾値未満となるように決定されることが必須要件となる。
【００４９】
そして、上記必須要件を満たす削除件数Ｎは、以下のような最悪ケースを想定した場合の削除件数Ｎを求めることにより決定できる。すなわち、ログ容量がローテーション閾値と一致するときに最大サイズのログが１件追加され、かつ、最小サイズのログをＮ件削除したケース（最悪ケース）であっても、ログフル閾値≦ログ容量≦ローテーション閾値の関係を満たすようなＮを求めることにより決定できる。
【００５０】
より具体的には、本実施の形態では以下の方法により削除件数Ｎを決定する。まず、ログのデータサイズの最大値（Ｄｓｍａｘ）と最小値（Ｄｓｍｉｎ）とが予め分かっていることを前提とする。そして、この前提のもとに、（１）追加するログのデータサイズが最大値（Ｄｓｍａｘ）であっても、ログ容量の限界値（１００％）を一時的にも超えない、（２）追加するログのデータサイズが最小値（Ｄｓｍｉｎ）、かつ、削除するＮ件のログのデータサイズが最大値（Ｄｓｍａｘ）であっても、ログフルの状態を保つ、という２つの条件を満たすＮを決定する。
【００５１】
上記条件（１）および（２）は、それぞれ以下の数式で表すことができる。
（１）（限界値−ローテーション閾値）＞Ｄｓｍａｘ
（２）Ｄｓｍａｘ×Ｎ＜（ローテーション閾値−ログフル閾値）＋Ｄｓｍｉｎ
【００５２】
本実施の形態では、上述の判定部３１１が、上記（１）の条件を満たすか否かを判定し（第１判定部）、さらに、上記（２）の条件を満たすか否かを判定する（第２判定部）。そして、削除部３１２は、上記（１）および（２）の条件を満たすＮをローテーション処理での最古ログの削除件数として、ログ記憶部からログを削除する。
【００５３】
なお、以下では、ユーザの指定等により与えられた削除件数Ｎが、上記（１）および（２）の条件を満たすか否かを判定する場合を例に説明する。判定部３１１が、上記（１）および（２）を満たす削除件数Ｎを決定するように構成してもよい。例えば、上記（１）の条件を満たした上で、上記（２）の条件を満たす最大のＮを削除件数を判定部３１１が決定してもよい。
【００５４】
図１０は、削除件数Ｎの決定方法の具体例を示す図である。図１０は、削除件数Ｎ＝５０が条件を満たすか否かを判定する場合を例示している。なお、ログフル閾値、ローテーション閾値、および限界値は、それぞれ図２に示す閾値表の値（９００ＭＢ、９５０ＭＢ、および１０００ＭＢ）が設定されているものとする。また、ログのデータサイズの最大値および最小値は、それぞれ図３に示すデータサイズ表の値（０．１ＭＢおよび０．００５ＭＢ）が設定されているものとする。
【００５５】
図１０に示すように、この例では、判定部３１１は、上記（１）および（２）のいずれの条件も満たされると判定する。したがって、削除部３１２は、ローテーション処理時にはＮ＝５０件の最古ログを削除する。
【００５６】
次に、第１の実施の形態にかかる画像形成装置１０による削除件数決定処理について図１１を用いて説明する。図１１は、第１の実施の形態における削除件数決定処理の全体の流れを示すフローチャートである。
【００５７】
まず、判定部３１１は、閾値表からログフル閾値、ローテーション閾値、および限界値を読み出す（ステップＳ１１０１）。次に、判定部３１１は、ログのデータサイズの最小値および最大値をデータサイズ表から読み出す（ステップＳ１１０２）。また、判定部３１１は、事前に与えられたログローテーション時のログの削除件数Ｎを取得する（ステップＳ１１０３）。
【００５８】
そして、判定部３１１は、まず上記（１）の条件を満たすか否かを判定する（ステップＳ１１０４）。すなわち、判定部３１１は、限界値からローテーション閾値を減算した差分値（第１差分値）が、データサイズの最大値より大きいか否かを判定する。
【００５９】
第１差分値がデータサイズの最大値より大きい場合（ステップＳ１１０４：Ｙｅｓ）、判定部３１１は、さらに、上記（２）の条件を満たすか否かを判定する（ステップＳ１１０５）。すなわち、判定部３１１は、データサイズの最大値と削除件数Ｎとの積が、ローテーション閾値からログフル閾値を減算した差分値（第２差分値）にデータサイズの最小値を加算した算出値より小さいか否かを判定する。
【００６０】
データサイズの最大値と削除件数Ｎとの積が、第２差分値とデータサイズの最小値とを加算した算出値より小さい場合（ステップＳ１１０５：Ｙｅｓ）、判定部３１１は、与えられた削除件数Ｎを、ログローテーション処理時のログの削除件数として決定する（ステップＳ１１０６）。
【００６１】
ステップＳ１１０４で第１差分値がデータサイズの最大値以下であると判定された場合（ステップＳ１１０４：Ｎｏ）、または、ステップＳ１１０５でデータサイズの最大値と削除件数Ｎとの積が第２差分値とデータサイズの最小値とを加算した算出値以上であると判定された場合（ステップＳ１１０５：Ｎｏ）、判定部３１１は、与えられた削除件数Ｎが条件を満たさないことを通知するなどの例外処理を実行する（ステップＳ１１０７）。
【００６２】
次に、第１の実施の形態にかかる画像形成装置１０によるログ記録処理について図１２を用いて説明する。図１２は、第１の実施の形態におけるログ記録処理の全体の流れを示すシーケンス図である。
【００６３】
まず、ユーザインタフェースサービス２０１が、オペレーションパネル８０上でのユーザの操作等に応じて、アプリケーションの起動指示を送信する（ステップＳ１２０１）。図１２は、ユーザがコピーアプリ１０１の起動を指示した例を示している。同様に、ユーザインタフェースサービス２０１は、コピーアプリ１０１に対するジョブの開始指示を送信する（ステップＳ１２０２）。なお、他のアプリケーションの場合も同様の手順により起動指示およびジョブの実行指示等が送信される。
【００６４】
コピーアプリ１０１は、ジョブの開始指示に応じてジョブの投入をジョブコントローラ１０３に指示する（ステップＳ１２０３）。ジョブコントローラ１０３は、当該ジョブの実行順を制御し、当該ジョブの実行順となったときに、ジョブの実行指示をコピーアプリ１０１に送信する（ステップＳ１２０４）。
【００６５】
コピーアプリ１０１は、実行指示に応じてコピージョブを実行する（ステップＳ１２０５）。コピージョブを実行後、コピーアプリ１０１は、当該ジョブに関するログの記録をログ管理部３０３に指示する（ステップＳ１２０６）。この指示には、例えばコピージョブの実行日時、ジョブ番号、ユーザ名、コピーするページ数、および文書名などが含まれる。
【００６６】
ログ管理部３０３は、ログ記録指示に応じてログを生成し、データベースサービス２０２に対して記録を依頼する（ステップＳ１２０７）。データベースサービス２０２は、依頼されたログをログ記憶部に記録する。
【００６７】
この後、ログ管理部３０３は、必要に応じてログローテーション処理を実行する（ステップＳ１２０８）。具体的には、ログ管理部３０３は、ログ記録後のログ容量がローテーション閾値を超えたか否かを判定する。ログ容量がローテーション閾値を超えた場合、削除部３１２が、削除件数決定処理で決定された削除件数（Ｎ件）分の最古ログをログ記憶部から削除する。
【００６８】
その後、ジョブが終了したときに、ジョブコントローラ１０３は、ジョブの終了をログ管理部３０３に通知する（ステップＳ１２０９）。
【００６９】
なお、図１２の例では、ログを生成した直後にログローテーションによるログの削除を実行している。これにより、必要な記憶領域を確保し、常にログが書き込めることが保障される。
【００７０】
これに対し、（Ａ）ジョブ終了後にログローテーションによるログの削除を実行する、または、（Ｂ）次のログを生成する直前にログローテーションによるログの削除を実行するように構成してもよい。（Ａ）の構成によれば、ジョブ実行中にログローテーション処理が実行されないため、生産性が低下することを回避できる。すなわち、ジョブの処理時間の増大等を避けることができる。（Ｂ）の構成によれば、ローテーションによるログの削除回数を減少させることが可能となる。すなわち、例えばログ転送処理などのローテーション処理と異なる機能によりログを削除する機能を備えていれば、ローテーション処理による削除判定のタイミングを遅らせることにより、当該機能でログが削除されたために、ローテーション処理での削除が不要となる可能性を高めることができる。
【００７１】
以上のように、第１の実施の形態によれば、１つのログファイルでログをローテーションする場合に、誤って警告が出力されること等を回避できる適切なログの削除件数を決定することができる。すなわち、ログのローテーション時に削除するログの容量を適切に決定可能となる。これにより、ログ容量が記憶領域の１００％を超えず、かつログフル状態が解除されることにより不要な警告等が報知されないようなログローテーション処理を実現できる。
【００７２】
（第２の実施の形態）
第２の実施の形態では、アプリケーションがプラグイン等により追加されることにより、ログのデータサイズの最大値および最小値が動的に変化する場合にも対応可能とする。具体的には、まずログのデータサイズの最大値および最小値を変動値として記録可能とする。そして、最小値から最大値までの範囲を外れるサイズのログを検出した場合、削除件数が条件（１）および（２）を満たすことを再度判定する。条件（１）および（２）を満たさない場合には、ローテーション閾値およびログフル閾値を更新し、条件（１）および（２）を満たすまで上記判定を繰り返す。
【００７３】
図１３は、第２の実施の形態にかかる画像形成装置のソフトウェア構成を例示するブロック図である。図１３に示すように、画像形成装置２０は、主なソフトウェア構成として、アプリケーション１００と、サービス２００と、共通メカニズム１３００と、ＯＳ４００とを備えている。
【００７４】
第２の実施の形態では、共通メカニズム１３００内のログ管理部１３０３に取得部１３１３および更新部１３１４を追加したこと、および、判定部１３１１の機能が第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる画像形成装置１０の構成を表すブロック図である図４と同様であるので、同一符号を付し、ここでの説明は省略する。
【００７５】
取得部１３１３は、ログ記憶部への記憶が要求されたログのサイズを取得するサイズ取得部として機能する。
【００７６】
判定部１３１１は、第１の実施の形態の判定部３１１の機能に加え、取得部１３１３により取得されたログのサイズが、範囲外データサイズ表に記憶された最小値以上かつ最大値以下であるか否かを判定する機能を備えている。範囲外データサイズ表とは、デフォルトのデータサイズ（データサイズ表の最小値以上かつデータサイズ表の最大値以下のサイズ）の範囲外のログのサイズの最小値および最大値を記憶する記憶部（サイズ記憶部）である。範囲外データサイズ表は、初期値としては、データサイズ表の最小値および最大値を記憶する。
【００７７】
判定部１３１１は、範囲外データサイズ表の最小値以上かつ最大値以下の範囲外のサイズのログが取得された場合、範囲外データサイズ表の最小値または最大値を更新する。また、判定部１３１１は、更新後の範囲外データサイズ表の最小値および最大値を用いて、上記条件（１）および（２）を再度判定する。
【００７８】
更新部１３１４は、判定部１３１１により上記条件（１）および（２）が満たされないと判定された場合に、ローテーション閾値およびログフル閾値を更新する。例えば、更新部１３１４は、ローテーション閾値およびログフル閾値に対してそれぞれ定められた固定値を、各閾値からそれぞれ減算することにより、各閾値を更新する。以下では、ローテーション閾値を固定値１０ずつ減算し、ログフル閾値を固定値２０ずつ減算する場合を例に説明するが、固定値はこれに限られるものではない。
【００７９】
また、更新部１３１４は、閾値表とは異なる記憶部（範囲外閾値表）に、更新後のローテーション閾値およびログフル閾値を記録する。そして、例えば画像形成装置２０の電源が遮断されたときに範囲外閾値表のデータを削除し、次回電源が投入された後は、閾値表の値をデフォルト値として判定に用いる。
【００８０】
次に、第２の実施の形態にかかる画像形成装置２０による閾値更新処理について図１４を用いて説明する。図１４は、第２の実施の形態における閾値更新処理の全体の流れを示すフローチャートである。
【００８１】
まず、取得部１３１３が、ログ記憶部への記録を依頼されたログを取得する（ステップＳ１４０１）。次に、判定部１３１１が、取得されたログのサイズが、範囲外データサイズ表の最小値以上かつ最大値以下であるか否かを判定する（ステップＳ１４０２）。
【００８２】
取得されたログのサイズが範囲外データサイズ表の最小値以上かつ最大値以下でない場合（ステップＳ１４０２：Ｎｏ）、更新部１３１４は、範囲外データサイズ表の最小値または最大値を更新する（ステップＳ１４０３）。例えば、ログのサイズが最小値より小さい場合、更新部１３１４は、範囲外データサイズ表の最小値を取得されたログのサイズで更新する。また、ログのサイズが最大値より大きい場合、更新部１３１４は、範囲外データサイズ表の最大値を取得されたログのサイズで更新する。
【００８３】
次に、判定部１３１１が、更新した後の最小値および最大値を用いて、上記条件（１）および（２）を再度判定する（ステップＳ１４０４）。具体的には、判定部１３１１は、第１の実施の形態の図１１のステップＳ１１０４およびステップＳ１１０５と同様の判定処理を実行する。
【００８４】
条件を満たさない場合（ステップＳ１４０４：Ｎｏ）、更新部１３１４は、ローテーション閾値およびログフル閾値からそれぞれ固定値を減算することにより各閾値を更新する（ステップＳ１４０５）。更新した各閾値は、範囲外閾値表に保存される。
【００８５】
次に、判定部１３１１は、更新後のログフル閾値からニアフル閾値を減算した差分値が、差異許容値より大きいか否かを判定する（ステップＳ１４０６）。差分値が差異許容値より大きい場合（ステップＳ１４０６：Ｙｅｓ）、判定部１３１１は、更新後のローテーション閾値および更新後のログフル閾値が、上述の条件（１）および（２）を満たすか否かをさらに判定する（ステップＳ１４０７）。
【００８６】
条件を満たさない場合（ステップＳ１４０７：Ｎｏ）、更新部１３１４がさらにローテーション閾値およびログフル閾値を更新して処理を繰り返す（ステップＳ１４０５）。
【００８７】
ステップＳ１４０２で取得されたログのサイズが範囲外データサイズ表の最小値以上かつ最大値以下であると判定された場合（ステップＳ１４０２：Ｙｅｓ）、ステップＳ１４０４で条件を満たすと判定された場合（ステップＳ１４０４：Ｙｅｓ）、および、ステップＳ１４０７で条件を満たすと判定された場合は（ステップＳ１４０７：Ｙｅｓ）、ログ管理部１３０３が、要求されたログをログ記憶部に書き込む（ステップＳ１４０８）。
【００８８】
ステップＳ１４０６で、差分値が差異許容値以下であると判定された場合（ステップＳ１４０６：Ｎｏ）、判定部１３１１は、閾値の更新が失敗したことを管理者に通知するなどの例外処理を実行する（ステップＳ１４０９）。
【００８９】
以下に、閾値更新処理の具体例について説明する。以下では、範囲外データサイズ表に最小値＝０．００５ＭＢおよび最大値＝０．１ＭＢが記憶され、範囲外閾値表にログフル閾値＝９５０ＭＢおよびローテーション閾値＝９８０ＭＢが記憶され、閾値表に限界値＝１０００ＭＢおよび差異許容値＝１００ＭＢが記憶されていると仮定する。また、ローテーション処理での削除件数Ｎは５０であるものとする。
【００９０】
ここで、１ＭＢのサイズのログの書込みが依頼されたとする。この場合、判定部１３１１は、ログのサイズ（１ＭＢ）が、範囲外データサイズ表の最大値（０．１ＭＢ）より大きいと判定する（ステップＳ１４０２：Ｎｏ）。このため、更新部１３１４は、範囲外データサイズ表の最大値を１ＭＢに更新する（ステップＳ１４０３）。そして、判定部１３１１は、更新後の最大値を用いて、条件（１）および（２）を再度判定する。この場合、１ＭＢ×５０（削除件数Ｎ）＝５０ＭＢ＜（９８０ＭＢ（ローテーション閾値）−９５０ＭＢ（ログフル閾値））＋０．００５ＭＢ（Ｄｓｍｉｎ）＝３０．００５となり、条件（２）を満たさない（ステップＳ１４０４：Ｎｏ）。
【００９１】
このため、更新部１３１４が、ローテーション閾値を９７０ＭＢ（＝９８０ＭＢ−１０ＭＢ）に更新し、ログフル閾値を９３０ＭＢ（＝９５０ＭＢ−２０ＭＢ）に更新する（ステップＳ１４０５）。この場合も、１ＭＢ×５０（削除件数Ｎ）＝５０ＭＢ＜（９７０ＭＢ−９３０ＭＢ）＋０．００５ＭＢ＝４０．００５となり、条件（２）を満たさない（ステップＳ１４０７：Ｎｏ）。
【００９２】
このため、更新部１３１４が、ローテーション閾値を９６０ＭＢ（＝９７０ＭＢ−１０ＭＢ）にさらに更新し、ログフル閾値を９１０ＭＢ（＝９３０ＭＢ−２０ＭＢ）にさらに更新する（ステップＳ１４０５）。この場合は、１ＭＢ×５０（削除件数Ｎ）＝５０ＭＢ＜（９６０ＭＢ−９１０ＭＢ）＋０．００５ＭＢ＝５０．００５となり、条件（２）を満たす（ステップＳ１４０７：Ｙｅｓ）。
【００９３】
このため、以降は、ローテーション閾値およびログフル閾値をそれぞれ９６０ＭＢおよび９１０ＭＢに更新した状態で、ログの書込み処理が継続される（ステップＳ１４０８）。
【００９４】
なお、図１４では、ログの書込み依頼を受けたときに逐次、ログのサイズを判定して閾値を更新していた。閾値更新のタイミングはこれに限られるものではなく、実際の書き込まれるログのサイズの最小値および最大値が得られるタイミングであればどのようなタイミングであってもよい。
【００９５】
例えば、取得部１３１３が、プラグインとしてアプリケーションがインストールされるときに、追加するプラグインで用いられるログのデータサイズの最小値および最大値を受け取り、この情報を用いてプラグインのインストール時に閾値更新処理を実行してもよい。このように構成すれば、アプリケーション実行時に閾値の再計算処理が実行されることにより、生産性の低下やユーザへのレスポンスの悪化が発生することを回避可能となる。
【００９６】
なお、このような構成で、プラグインから通知されるログのデータサイズが誤っていた場合、ログ全体のサイズが異常となる可能性が生じうる。そこで、書込みが依頼されたログのサイズが、インストール時に通知されたデータサイズの範囲外か否かを検出可能とし、範囲外の場合は、異常データとして通常のログと異なるセキュリティログに範囲外である旨を記録するように構成してもよい。通常のログには範囲外のデータを記録しないため、通常のログ全体のサイズが異常となることを回避可能となる。
【００９７】
（変形例１）
図１４では、固定値を減算し判定を繰り返すことにより条件を満たす閾値を探索していた。これに対し、ユーザの選択等に応じて更新する閾値を決定するように構成してもよい。例えば、管理者であるユーザ等が入力した更新後の閾値を用いるように構成してもよい。また、例えば事前の設定またはユーザの選択等に応じて、差異許容値を満たしうる範囲でローテーション閾値とログフル閾値との差分が最大となる値に各閾値を更新するように構成してもよい。
【００９８】
図１５は、このように構成した第２の実施の形態の変形例１における閾値更新処理の全体の流れを示すフローチャートである。本変形例では、ステップＳ１５０５およびステップＳ１５０６が追加された点が、第２の実施の形態の図１４のフローチャートと異なっている。
【００９９】
すなわち、ステップＳ１５０１からステップＳ１５０４までは、図１４のステップＳ１４０１からステップＳ１４０４までと同様の処理である。また、ステップＳ１５０７からステップＳ１５１１までは、図１４のステップＳ１４０５からステップＳ１４０９までと同様の処理である。
【０１００】
ステップＳ１５０４で条件を満たさないと判定された場合（ステップＳ１５０４：Ｎｏ）、判定部１３１１は、さらに、例えばオペレーションパネル８０上でユーザにより差異許容値までの変更が選択されたか否かを判定する（ステップＳ１５０５）。差異許容値までの変更とは、ログフル閾値とニアフル閾値との差分が差異許容値以下とならない範囲で、ローテーション閾値およびログフル閾値から固定値の倍数となる値を減算して各閾値を更新することを意味する。
【０１０１】
差異許容値までの変更が選択された場合（ステップＳ１５０５：Ｙｅｓ）、更新部１３１４は、差異許容値以下とならない範囲で、ローテーション閾値およびログフル閾値から、それぞれに対して定められた固定値の倍数となる値を減算することにより、各閾値を更新する（ステップＳ１５０６）。
【０１０２】
図１５に示すような処理により、アプリケーション利用中に閾値の再計算が発生する回数を減少させることができる。
【０１０３】
以上のように、第２の実施の形態では、アプリケーションがプラグイン等により追加されることにより、ログのデータサイズの最大値および最小値が動的に変化する場合であっても、適切な削除件数および閾値を決定できる。すなわち、ログのローテーション時に削除するログの容量を適切に決定可能となる。
【０１０４】
（第３の実施の形態）
第２の実施の形態では、更新した閾値を範囲外閾値表に記憶して以降の判定に用いるとともに、電源再起動時などに用いるデフォルト値としては、閾値表に記憶されている値を用いていた。第３の実施の形態では、書き込まれたログのサイズが、デフォルトのデータサイズ（データサイズ表のデータサイズ）の範囲内である場合は、閾値表のデフォルト値を、範囲外閾値表に記憶された値で更新する。すなわち、更新した閾値の値を、デフォルト値として書き戻す処理が追加される。
【０１０５】
図１６は、第３の実施の形態にかかる画像形成装置のソフトウェア構成を例示するブロック図である。図１６に示すように、画像形成装置３０は、主なソフトウェア構成として、アプリケーション１００と、サービス２００と、共通メカニズム１６００と、ＯＳ４００とを備えている。
【０１０６】
第３の実施の形態では、共通メカニズム１６００内のログ管理部１６０３の機能が第２の実施の形態と異なっている。その他の構成および機能は、第２の実施の形態にかかる画像形成装置２０の構成を表すブロック図である図１３と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１０７】
ログ管理部１６０３は、第２の実施の形態のログ管理部１３０３の機能に以下の機能が追加される。すなわち、ログ管理部１６０３は、書き込まれたログのサイズを記憶する記憶部であるデータリスト（図示せず）を参照し、データリスト内の各ログのサイズがデータサイズ表のデータサイズの範囲内であるか否かを判定する。そして、ログ管理部１６０３は、各ログのサイズがデータサイズの範囲内である場合に、閾値表に記憶されている各閾値のデフォルト値を、範囲外閾値表に記憶された更新後の閾値で更新する。
【０１０８】
図１７は、データリストに記憶されるデータのデータ構造の一例を示す図である。図１７に示すように、データリストは、ログを識別するｉｄと、ログのサイズを表すｓｉｚｅ（ＭＢ）とを記憶している。
【０１０９】
次に、第３の実施の形態にかかる画像形成装置３０によるデフォルト値更新処理について図１８を用いて説明する。図１８は、第３の実施の形態におけるデフォルト値更新処理の全体の流れを示すフローチャートである。
【０１１０】
なお、デフォルト値更新処理は、例えば管理者等のユーザの選択に応じて開始される。デフォルト値更新処理の実行タイミングはこれに限られず、例えば一定回数のジョブを実行後に実行してもよい。また、設定された週の特定曜日、月の特定日などのように、スケジュール設定に応じて実行するように構成してもよい。
【０１１１】
まず、ログ管理部１６０３は、データリストからログのデータサイズ（ｓｉｚｅ）を取得する（ステップＳ１８０１）。次に、ログ管理部１６０３は、取得したデータサイズが、データサイズ表の最小値以上かつ最大値以下であるか否かを判定する（ステップＳ１８０２）。
【０１１２】
取得したデータサイズが、データサイズ表の最小値以上かつ最大値以下である場合（ステップＳ１８０２：Ｙｅｓ）、ログ管理部１６０３は、データリストのすべてのログを処理したか否かを判定する（ステップＳ１８０３）。すべてのログを処理していない場合は（ステップＳ１８０３：Ｎｏ）、次のログのデータサイズを取得して処理を繰り返す（ステップＳ１８０１）。すべてのログを処理した場合は（ステップＳ１８０３：Ｙｅｓ）、ローテーション閾値とログフル閾値のデフォルト値を、範囲外閾値表に記憶されている現在の各閾値の値で更新する（ステップＳ１８０４）。
【０１１３】
ステップＳ１８０２で、取得したデータサイズが、データサイズ表の最小値以上かつ最大値以下でないと判定された場合（ステップＳ１８０２：Ｎｏ）、ログ管理部１６０３は、閾値のデフォルト化に失敗したことを通知するなどの例外処理を実行する（ステップＳ１８０５）。
【０１１４】
次に、デフォルト値更新処理の具体例について説明する。以下では、データサイズ表およびデータリストに、それぞれ図３および図１７に示すようなデータが記憶されているものとする。また、閾値表のデフォルト値として、ログフル閾値＝９５０ＭＢ、およびローテーション閾値＝９８０ＭＢが記憶され、範囲外閾値表には、現在の閾値の値として、
ログフル閾値＝９１０ＭＢ、およびローテーション閾値＝９６０ＭＢが記憶されているものとする。
【０１１５】
この場合、ログ管理部１６０３は、データリスト内の各ログのデータサイズがすべてデータサイズ表の最小値以上かつ最大値以下であるため（ステップＳ１８０２：Ｙｅｓ）、閾値表のデフォルト値を範囲外閾値表の閾値で更新する（ステップＳ１８０４）。この結果、閾値表のデフォルト値は、ログフル閾値＝９１０ＭＢ、およびローテーション閾値＝９６０ＭＢに更新される。
【０１１６】
以上のように、第３の実施の形態では、ログのサイズが所定の条件を満たす場合に、更新した閾値の値をデフォルト値として書き戻すことができる。これにより、例えば装置を再起動するごとに閾値の更新処理が実行され、ジョブの実行時間の増加などの生産性の低下が生じる可能性を低減できる。
【０１１７】
なお、本実施の形態の画像形成装置で実行されるログ管理プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０１１８】
本実施の形態の画像形成装置で実行されるログ管理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１１９】
さらに、本実施の形態の画像形成装置で実行されるログ管理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の画像形成装置で実行されるログ管理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１２０】
本実施の形態の画像形成装置で実行されるログ管理プログラムは、上述した各部（判定部、削除部等）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭからログ管理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１２１】
以上のように、本発明にかかる情報処理装置は、１つのファイル（記憶領域）でログローテーションを行う装置に適している。
【符号の説明】
【０１２２】
１０、２０、３０  画像形成装置
１２  プロッタ
１３  スキャナ
６０  コントローラ
６１  ＣＰＵ
６２  システムメモリ
６３  ＮＢ
６７  ローカルメモリ
６８  ＨＤＤ
６９  ＮＩＣ
７０  メモリカードＩ／Ｆ
７１  ＵＳＢ
７２  ＩＥＥＥ１３９４Ｉ／Ｆ
７３  ＩＥＥＥ８０２．１１ｂＩ／Ｆ
７４  バス
７５  ＷｉｒｅｌｅｓｓＵＳＢ
７６  ＵＳＢホスト
７７  シリアルバス
７８  メモリカード
７９  ＵＳＢメモリ
８０  オペレーションパネル
８１  ＦＣＵ
８２  エンジン部
８３  ＰＣＩバス
８４  その他ハードウェアリソース
１００  アプリケーション
１０１  コピーアプリ
１０２  プリンタアプリ
１０３  ジョブコントローラ
２００  サービス
２０１  ユーザインタフェースサービス
２０２  データベースサービス
２０３  通信サービス
３００、１３００、１６００  共通メカニズム
３０１  プラグイン管理部
３０２  ユーザ認証部
３０３、１３０３、１６０３  ログ管理部
３１１、１３１１  判定部
３１２  削除部
１３１３  取得部
１３１４  更新部
【先行技術文献】
【特許文献】
【０１２３】
【特許文献１】特開２００５−２９３０１６号公報
【図１】
0005509704.tif 000002
【図２】
0005509704.tif 000003
【図３】
0005509704.tif 000004
【図４】
0005509704.tif 000005
【図５】
0005509704.tif 000006
【図６】
0005509704.tif 000007
【図７】
0005509704.tif 000008
【図８】
0005509704.tif 000009
【図９】
0005509704.tif 000010
【図１０】
0005509704.tif 000011
【図１１】
0005509704.tif 000012
【図１２】
0005509704.tif 000013
【図１３】
0005509704.tif 000014
【図１４】
0005509704.tif 000015
【図１５】
0005509704.tif 000016
【図１６】
0005509704.tif 000017
【図１７】
0005509704.tif 000018
【図１８】
0005509704.tif 000019