JPH11327965A - アプリケーションのログレベルの動的変更方法 - Google Patents

アプリケーションのログレベルの動的変更方法

Info

Publication number
JPH11327965A
JPH11327965A JP10136961A JP13696198A JPH11327965A JP H11327965 A JPH11327965 A JP H11327965A JP 10136961 A JP10136961 A JP 10136961A JP 13696198 A JP13696198 A JP 13696198A JP H11327965 A JPH11327965 A JP H11327965A
Authority
JP
Japan
Prior art keywords
log
application
level
log level
output
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
JP10136961A
Other languages
English (en)
Inventor
Hiroki Tsunoda
広樹 角田
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.)
Nissin Electric Co Ltd
Original Assignee
Nissin Electric Co 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 Nissin Electric Co Ltd filed Critical Nissin Electric Co Ltd
Priority to JP10136961A priority Critical patent/JPH11327965A/ja
Publication of JPH11327965A publication Critical patent/JPH11327965A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【課題】アプリケーションにトラブルが発生したことを
完全停止に到る前に検出し通常時のログ出力量を少なく
保ちながら、後にトラブルの原因を究明するときにログ
ファイルから充分なログ情報が得られるようにするアプ
リケーションのログレベルの動的変更方法を提供する。 【解決手段】次の処理を行うアプリケーション不具合検
出プロセス4を実行する。アプリケーション5A,5
B,5Cを自己の子プロセスとして立ち上げ、カーネル
6を通して、そのアプリケーションの実行情報を受け取
れるようにする。カーネル6から得た情報によって、ア
プリケーションに不具合が発生していたことを検知した
とき、ログレベル設定テーブル7における、そのアプリ
ケーションのログレベル設定を、高いレベルに書換え
る。そのアプリケーションプロセスに、ログレベル変更
を通知するシグナルを送信して、上記ログレベル設定テ
ーブル7の再読み込みによる、ログレベルの再設定を行
なわせる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、出力基準として内
部設定されたログレベル以下のログをログファイルに出
力するアプリケーションを実行する場合において、この
ログレベルを動的に変更することにより、処理速度の低
下とログファイルの肥大化を防止しながら、アプリケー
ション・トラブルの原因究明に必要なログを、ログファ
イルに十分に書き込めるようにする方法を提供すること
を目的とする。
【0002】
【従来の技術】例えば、UNIX系コンピュータにおい
ては、アプリケーションの実行状態を記録するログをロ
グファイルに出力させている。
【0003】このログファイルの出力機能は、プログラ
ムの正常実行を妨げる原因が発生していないか、あるい
は、プログラムが意図したように動作しているか否か等
を調べるために用いられ、アプリケーション・プログラ
ムの要所に書き込んだログ出力ルーチンにより、チェッ
ク対象のデータが出力・記録される。このログファイル
を読むことにより、アプリケーション・ダウン時に、そ
の原因を究明したり、アプリケーション開発中の動作確
認をすること等ができる。
【0004】この機能は、24時間体制で稼動させるた
め、無人となる場合がある監視制御システムにおいて、
トラブル発生時に、その原因を早期に究明し迅速な復旧
を図るために、特に、重要な機能となっている。
【0005】上記ログは、プログラムの全ての部分にお
ける実行状態を報告するものであるため多岐に亘る。そ
のため、全てをログファイルに出力させると、ファイル
出力に要する時間のためアプリケーションの処理速度が
低下し、ログファイルも肥大化してしまう。特に24時
間監視制御システムのように長期間に亘り連続稼動する
システムにおいて実行されるアプリケーションの場合
は、追加書込みされるログファイルのサイズは膨大なも
のとなり、使用するハードディスク等の記憶媒体に大容
量のものが要求されることになる。
【0006】そのため、従来は、ログに重要度に応じた
レベルを付け、設定したログレベル以下のログだけログ
ファイルに出力させ、処理速度の低下とログファイルの
肥大化を防止していた。これを図4に示す。1は各アプ
リケーション毎にログレベルを設定したログレベル設定
テーブルで、アプリケーション起動前に、別のログファ
イル管理プログラムによって作成される。2はログ出力
のレベル制限を行う上記アプリケーションで、起動時
に、ログレベル設定テーブル1から、自己のログレベル
を読み取って、内部設定値として取り込み、このレベル
以下のログだけ、自己のログファイル3に書き込む。図
4の例においては、ログレベル設定テーブル1のログレ
ベルの設定は、アプリA,アプリB,アプリCのいずれ
も、ログレベルを1としている。これは、ログファイル
3への出力が最小になる最も低いレベルである。
【0007】
【発明が解決しようとする課題】上述したように、ログ
レベルの制限によってログファイル3への出力量を少な
くすると、アプリケーションの処理速度を高く保てると
同時に、ハードディスク等の記憶装置の空き領域の圧迫
を防止できる。
【0008】しかし、出力されるログファイル3を小さ
くする結果、不具合に関して得られる情報量が少なくな
る。このため、例えばアプリケーション・ダウン時の原
因の究明が困難になり、復旧に時間がかかる等の問題が
生じていた。アプリケーションにトラブルが発生した場
合に、その原因の究明を適切かつ迅速に行うには、その
トラブルに関する不具合のログ情報を、なるべく多くロ
グファイル3に残すことが必要なのである。
【0009】そこで、本発明は、アプリケーションにト
ラブルが発生したことを、完全停止に到る前に検出し、
そのアプリケーションのログレベルを自動変更すること
により、通常時のログ出力量を少なく保ちながら、後に
トラブルの原因を究明するときにログファイルから充分
なログ情報が得られるようにするアプリケーションのロ
グレベルの動的変更方法を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明が提供するアプリ
ケーションのログレベルの動的変更方法は、外部のログ
レベル設定テーブルを読むことにより、出力基準として
のログレベルを内部設定する機能と、プログラムの要所
にログ出力文がレベルを付けて書き込まれ、プログラム
実行中に、このログ出力文に出会ったとき、このレベル
が上記出力基準として内部設定されたログレベル以下の
とき、このログを外部のログファイルに出力する機能
と、外部からログレベル変更の通知を受けたとき、上記
ログレベル設定テーブルを再読込みして、出力基準とし
てのログレベルの内部設定を変更する機能とを有し、オ
ぺレーティングシステムのカーネルの管理の下に起動す
るアプリケーションプロセスと、上記カーネルから上記
アプリケーションプロセスの実行状態の問合せができる
ようにするため、上記アプリケーションプロセスを自己
の子プロセスとして起動し、実行中に所定周期で行われ
る、この問合せにより、上記アプリケーションプロセス
に不具合が発生していることを検出したとき、上記ログ
レベル設定テーブルにおける、そのアプリケーションの
出力基準としてのログレベルを、高いレベルに書換える
とともに、そのアプリケーションプロセスに、ログレベ
ル変更の通知を行うシグナルを送信するアプリケーショ
ン不具合検出プロセスとを実行することを特徴とする。
【0011】
【発明の実施の形態】図1に本発明を実施する場合にコ
ンピュータ内で実行されるプロセスと、コンピュータの
カーネル、ログレベル設定テーブル、及びログファイル
との関係を示す。
【0012】図1において、4はアプリケーション不具
合検出プロセス、5A,5B,5Cは、並列実行される
アプリケーションプロセス、6はコンピュータのプログ
ラム実行を管理するUNIXカーネル、7はログレベル
設定テーブル、8A,8B,8Cは、各アプリケーショ
ンプロセス5A,5B,5Cが出力するログファイルで
ある。
【0013】上記UNIXカーネル6は、コンピュータ
内で実行されるプロセス情報を保持し、親プロセスから
の問合せに対し、その子プロセスの実行情報を報告する
機能を持っている。
【0014】アプリケーションプロセス5A,5B,5
Cは、図4で説明したように、起動時にログレベル設定
テーブル7から自己のログレベルを読み取って内部設定
値として取り込み、自己のアプリケーションの実行状態
を記録するログとして、レベルが、この設定値以下のロ
グのみを、自己のログファイル8A,8B,8Cに出力
する。本発明では、これに加えて、ログレベル変更の通
知を受けるシグナルハンドラを設け、この通知を受けた
ときログレベル設定テーブル7の再読込みにより、自己
のログレベルを更新する機能を追加している。
【0015】アプリケーション不具合検出プロセス4
は、各アプリケーションプロセス5A,5B,5Cを、
自己の子プロセスとして起動することにより、UNIX
カーネル6から、各アプリケーションプロセス5A,5
B,5Cの実行状況を問合せることを可能としたもので
ある。この問合せによって、各アプリケーションプロセ
スに、不具合が発生していることを検出したときは、ロ
グレベル設定テーブル7において、対応するアプリケー
ションのログレベルを高いレベルに書換えた後に、対応
するアプリケーションに、ログレベル変更を通知するシ
グナルを送信する。
【0016】上記図1の構成において、本発明方法が実
施される手順を、図2に示すアプリケーション不具合検
出プロセスの実行手順と、図3に示すアプリケーション
プロセスの実行手順について説明する。
【0017】図2に示すアプリケーション不具合検出プ
ロセスは、次の手順で実行される。初めに、ログレベル
設定テーブル7をメモリ又はハードディスク上に作成す
る。このとき設定されるログレベルは、例えば図4と同
様に、ログファイル8A,8B,8Cを最も小さくする
ログレベル1とする。次に、各アプリケーションプロセ
ス5A,5B,5Cを、自己の子プロセスとして起動す
る。これは、UNIXの下で起動する場合はfork命
令を用いることによって行われる。これによって、親プ
ロセスであるアプリケーション不具合検出プロセス4か
ら、子プロセスである各アプリケーション5A,5B,
5Cの実行情報を、カーネル6に問い合わせることが可
能になる。
【0018】アプリケーションプロセス5A,5B,5
Cが立ち上がると、アプリケーション不具合検出プロセ
ス4は、カーネル6への問合せにより、各アプリケーシ
ョンプロセス5A,5B,5Cに、特別な監視を必要と
する不具合が発生しているか否かを調べる。
【0019】この不具合を調べる方法は、例えば、ア
プリケーションプロセスが消滅していないか、アプリ
ケーションプロセスのCPU占有率が不当に低くなって
いないか、アプリケーションプロセスのCPU占有率
が不当に高くなっていないか、等がある。はプロセス
のカーネルに対する応答がなくなった場合である。この
直後は、プロセスの完全停止に到っていない場合が多
く、ログファイルへの出力が期待できる。はプロセス
が何等かの原因で、待ち状態から抜けられなくなってい
る場合で、放置するとプロセスのダウンに到る可能性が
高いものである。はプロセスが何等かの原因で無限ル
ープに入ってしまった場合等に起こり、これもプロセス
のダウンに到る可能性が高い。
【0020】カーネルがUNIXの場合、上記のプロ
セスの消滅は、wait3()のシステムコールを行う
と、それまでに消滅したプロセスのレポートが得られる
ので、監視対象のプロセスが、それに含まれるか否かに
よって判断する。
【0021】のCPU占有率については、UNIX
の場合は、topコマンドを実行することによって、各
プロセスのCPU占有率のレポートが送信されるので、
それから判断する。
【0022】この判断の結果、のいずれかに該当
していれば、アプリケーション不具合検出プロセス4
は、ログレベル設定テーブル7の対応するアプリケーシ
ョンのログレベルを、例えば図1に示すように、高いレ
ベルの10に書き換える。
【0023】ログレベル設定テーブル7を書換えた後
は、対応するアプリケーションに、ログレベル設定テー
ブル7を書換えたことを通知するシグナルを送信して、
対応するアプリケーションプロセスにログレベルの再読
込みを指令する。
【0024】この後、上記アプリケーションプロセスに
特別の監視を必要とする不具合が発生したか否かのチェ
ックを、繰り返して行う。
【0025】一方、各アプリケーションプロセスは、ロ
グファイルの出力に関して、図3に示すような手順で実
行される。
【0026】アプリケーションプロセス5A,5B,5
Cは、起動時にログレベル設定テーブル7から自己のロ
グレベルを読み込み、内部設定値として取り込む。この
ログレベル設定テーブル7は、上述したように、アプリ
ケーション不具合検出プロセス7が、各アプリケーショ
ンを起動する前に生成したものである。これによって、
各アプリケーションのログレベルは、例えば、最も低い
レベルであるログレベル1に設定される。以後、アプリ
ケーションプロセス5A,5B,5Cは、このログレベ
ル以下のログのみを、自己のログファイル8A,8B,
8Cに出力するので、ログ出力量は少なく制限される。
この間に、アプリケーションプロセスに、不具合が発生
すると、前述したアプリケーション不具合検出プロセス
4の動作によって、そのアプリケーションプロセスに、
テーブルを書換えたことを通知するシグナルが送信され
る。この通知を受けたアプリケーションプロセスは、ロ
グレベル設定テーブル7の再読込みを行って、アプリケ
ーション不具合検出プロセス4によって書換えられた自
己のログレベルを内部設定値として取り込む。この再設
定されたログレベルは、前述したように、高いログレベ
ル10であり、これ以降は、この更新されたログレベル
に従ってログを出力するので、ログファイルには、後で
トラブルの原因を究明するのに充分な量のログが書き込
まれる。この書込みは、アプリケーションプロセスが完
全にダウンして、ログファイルの出力機能が失われるま
で継続する。
【0027】以上の動作により、通常時は、ログ出力量
を少なく抑えて、アプリケーションのパフォーマンスを
高く保ちながら、アプリケーション・トラブルの原因を
究明するときに必要なログを十分にログファイルに残す
ことができる。
【0028】上記実施形態は、UNIXの下で実行され
るアプリケーションについてのものであったが、本発明
は、親プロセスが子プロセスに関する実行情報をカーネ
ルに問い合わせることができるオぺレーティング・シス
テムの下で動作するアプリケーションにおいて、同様に
実施できるものである。
【0029】
【発明の効果】本発明は、ログレベルに従ってログファ
イルを出力するアプリケーションを実行する場合におい
て、そのログレベルを必要に応じて動的に変更するよう
にしたから、アプリケーションのパフォーマンス低下、
及びログファイルによるハードディスク等の空き容量の
圧迫を問題にしないで、アプリケーション・トラブルの
原因究明に必要なログをログファイルに十分に書き込め
るようになる。これは、24時間体制で連続運転される
監視制御システムで実行されるアプリケーションのよう
に、長期間に亘って連続実行されるためログファイルが
肥大化し易い場合に、特に有益な方法となる。
【図面の簡単な説明】
【図1】 本発明のアプリケーションのログレベルの動
的変更方法を実施する場合に、コンピュータ内で実行さ
れるプロセスと、コンピュータのカーネル、ログレベル
設定テーブル、及びログファイルとの関係を示す図
【図2】 図1の構成におけるアプリケーション不具合
検出プロセスの実行手順を示すフローチャート
【図3】 図1の構成におけるアプリケーションプロセ
スの実行手順を示すフローチャート
【図4】 設定したログレベルに従ってログを出力する
アプリケーションの動作を、本発明の前提として説明す
る図
【符号の説明】
4 アプリケーション不具合検出プロセス 5A,5B,5C アプリケーションプロセス 6 カーネル 7 ログレベル設定テーブル 8A,8B,8C ログファイル

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 外部のログレベル設定テーブルを読むこ
    とにより、出力基準としてのログレベルを内部設定する
    機能と、プログラムの要所にログ出力文がレベルを付け
    て書き込まれ、プログラム実行中に、このログ出力文に
    出会ったとき、このレベルが上記出力基準として内部設
    定されたログレベル以下のとき、このログを外部のログ
    ファイルに出力する機能と、外部からログレベル変更の
    通知を受けたとき、上記ログレベル設定テーブルを再読
    込みして、出力基準としてのログレベルの内部設定を変
    更する機能とを有し、オぺレーティングシステムのカー
    ネルの管理の下に起動するアプリケーションプロセス
    と、 上記カーネルから上記アプリケーションプロセスの実行
    状態の問合せができるようにするため、上記アプリケー
    ションプロセスを自己の子プロセスとして起動し、実行
    中に所定周期で行われる、この問合せにより、上記アプ
    リケーションプロセスに不具合が発生していることを検
    出したとき、上記ログレベル設定テーブルにおける、そ
    のアプリケーションの出力基準としてのログレベルを、
    高いレベルに書換えるとともに、そのアプリケーション
    プロセスに、ログレベル変更の通知を行うシグナルを送
    信するアプリケーション不具合検出プロセスとを実行す
    ることを特徴とするアプリケーションのログレベルの動
    的変更方法。
JP10136961A 1998-05-19 1998-05-19 アプリケーションのログレベルの動的変更方法 Withdrawn JPH11327965A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10136961A JPH11327965A (ja) 1998-05-19 1998-05-19 アプリケーションのログレベルの動的変更方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10136961A JPH11327965A (ja) 1998-05-19 1998-05-19 アプリケーションのログレベルの動的変更方法

Publications (1)

Publication Number Publication Date
JPH11327965A true JPH11327965A (ja) 1999-11-30

Family

ID=15187548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10136961A Withdrawn JPH11327965A (ja) 1998-05-19 1998-05-19 アプリケーションのログレベルの動的変更方法

Country Status (1)

Country Link
JP (1) JPH11327965A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388216C (zh) * 2004-11-18 2008-05-14 国际商业机器公司 用于调整跟踪数据粒度的设备、系统及方法
JP2009070047A (ja) * 2007-09-12 2009-04-02 Ricoh Co Ltd ログ収集機構を有した画像形成装置
JP2010286889A (ja) * 2009-06-09 2010-12-24 Canon Inc 通信制御装置
JP2011113354A (ja) * 2009-11-27 2011-06-09 Nec Corp ログ出力装置、ログ出力方法、ログ出力用プログラム
JP2012064103A (ja) * 2010-09-17 2012-03-29 Konica Minolta Business Technologies Inc 情報処理装置、ログ記録方法およびログ記録プログラム
CN107391355A (zh) * 2017-07-25 2017-11-24 郑州云海信息技术有限公司 一种控制内核模块日志输出的方法与装置
CN113010366A (zh) * 2019-12-20 2021-06-22 阿里巴巴集团控股有限公司 日志输出方法、装置及设备
US11163624B2 (en) * 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388216C (zh) * 2004-11-18 2008-05-14 国际商业机器公司 用于调整跟踪数据粒度的设备、系统及方法
JP2009070047A (ja) * 2007-09-12 2009-04-02 Ricoh Co Ltd ログ収集機構を有した画像形成装置
JP2010286889A (ja) * 2009-06-09 2010-12-24 Canon Inc 通信制御装置
JP2011113354A (ja) * 2009-11-27 2011-06-09 Nec Corp ログ出力装置、ログ出力方法、ログ出力用プログラム
JP2012064103A (ja) * 2010-09-17 2012-03-29 Konica Minolta Business Technologies Inc 情報処理装置、ログ記録方法およびログ記録プログラム
US11163624B2 (en) * 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
US11726850B2 (en) 2017-01-27 2023-08-15 Pure Storage, Inc. Increasing or decreasing the amount of log data generated based on performance characteristics of a device
CN107391355A (zh) * 2017-07-25 2017-11-24 郑州云海信息技术有限公司 一种控制内核模块日志输出的方法与装置
CN107391355B (zh) * 2017-07-25 2020-08-25 苏州浪潮智能科技有限公司 一种控制内核模块日志输出的方法与装置
CN113010366A (zh) * 2019-12-20 2021-06-22 阿里巴巴集团控股有限公司 日志输出方法、装置及设备

Similar Documents

Publication Publication Date Title
US8055633B2 (en) Method, system and computer program product for duplicate detection
CN100432949C (zh) 在计算机上当软件崩溃时保存用户数据的方法及装置
JPH11327965A (ja) アプリケーションのログレベルの動的変更方法
JP2006338445A (ja) 異常情報格納装置
US6035417A (en) Method and system for taking over data and device for processing data
CN111552618B (zh) 一种收集日志的方法及设备
CN110764962A (zh) 日志处理方法和装置
JP2007249652A (ja) データミラー型クラスタシステム及びその運用方法
JP2010066801A (ja) ログ記録システム、モジュール監視手段、トレースログ管理手段、記録方法、プログラム、及び記憶媒体
JPS5942343B2 (ja) トレ−ス情報ロギング方法
JP4562641B2 (ja) コンピュータシステム、動作状態判定プログラムおよび動作状態判定方法
JP2004259324A (ja) 記録装置の動作制御装置および記録装置の動作制御方法
JP2002312205A (ja) アクセスログ情報の保存処理方法とその保存処理装置およびその処理プログラム
CN106599046B (zh) 分布式文件系统的写入方法及装置
CN112015600A (zh) 日志信息处理系统、日志信息处理方法及装置和交换机
KR101539933B1 (ko) Cpu 행업 시 로그를 생성하는 방법 및 장치
JP2751822B2 (ja) Fifoメモリ装置のメモリ制御方法
JP2009205633A (ja) 情報処理システム及び情報処理方法
KR930001160B1 (ko) 자동음성 응답장치의 하드디스크의 이중화방법
JP3985530B2 (ja) 不正行為監視システム
JP3231864B2 (ja) タスク縮退管理装置
JPH09330253A (ja) メモリダンプ方法及びそれを適用したメモリダンプシステム
JPH10240594A (ja) データファイル監視システム
CN117493354A (zh) 数据的处理方法、处理系统、存储介质及处理器
JPH05158627A (ja) ディスク装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050802