Python でログ内容を動的に監視する例

WBOY
リリース: 2016-06-16 08:45:12
オリジナル
1005 人が閲覧しました

ログ ファイルは通常、プログラム内でファイルの生成日と現在時刻を判断して、監視対象のログ ファイルを置き換えます。
このプログラムは、test1.log を監視する単純な例です。 10 秒間続けて、.log

の監視に切り替えます。

プログラム監視では、Linux コマンド tail -f を使用して、新しく追加されたログを動的に監視します

コードをコピー コードは次のとおりです:

#!/usr/bin/python
#coding=utf -8
# ファイル名:monitorLog.py
インポート os
インポート信号
インポート サブプロセス
インポート時間


logFile1 = "test1.log"
logFile2 = 'test2.log'

#ログファイルは通常、プログラム内でファイルの生成日と現在時刻を判断して、監視対象のログファイルを置き換えます。
#このプログラムは単なる例です。 .log を 10 秒間実行し、監視に切り替えます test2.log
def MonitorLog(logFile):
print '監視対象のログ ファイルは %s' % logFile
# プログラムは 10 秒間実行され、別のログを監視します
stoptime = time.strftime( '%Y-%m-%d %H:%M:%S', time.localtime(time.time() + 10))
Popen = subprocess.Popen( 'tail -f ' + logFile、stdout =subprocess.PIPE、stderr=subprocess.PIPE、shell=True)
pid = Popen.pid
print('Popen.pid:' + str(pid))
while True:
line = Popen.stdout.readline().strip()
# コンテンツが空かどうかを判断します
# コンテンツが空かどうかを判断する
行の場合: %Y- %m-%d %H:%M:%S', time.localtime(time.time()))
if thistime >= stoptime:
# 子プロセスを終了します
Popen .kill( )
print 'サブプロセスを強制終了'
Break
time.sleep(2)
MonitorLog(logFile2)

if __name__ == '__main__':

モニターログ(logFile1)



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!