ログ ファイルは通常、プログラム内でファイルの生成日と現在時刻を判断して、監視対象のログ ファイルを置き換えます。
このプログラムは、test1.log を監視する単純な例です。 10 秒間続けて、.log
プログラム監視では、Linux コマンド tail -f を使用して、新しく追加されたログを動的に監視します
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__':