ログディレクトリからいくつかのログファイルを解析して、リスト内の任意の数の文字列をサーバー名とともに検索しようとしています。私は何百万ものオプションを試したような気がしますが、ログファイル1つでうまく動作します。しかし、ディレクトリ内のすべてのログファイルを調べようとすると、どこにも見えません。複数のログファイルを文字列として解析する
if args.f:
logs = args.f
else:
try:
logs = glob("/var/opt/cray/log/p0-current/*")
except IndexError:
print "Something is wrong. p0-current is not available."
sys.exit(1)
valid_errors = ["error", "nmi", "CATERR"]
logList = []
for log in logs:
logList.append(log)
#theLog = open("logList")
#logFile = log.readlines()
#logFile.close()
#printList = []
#for line in logFile:
# if (valid_errors in line):
# printList.append(line)
#
#for item in printList:
# print item
# with open("log", "r") as tmp_log:
# open_log = tmp_log.readlines()
# for line in open_log:
# for down_nodes in open_log:
# if valid_errors in open_log:
# print valid_errors
down_nodes
さらにダウンとしてマークされているサーバのリストを含むスクリプトアップ予め充填されたリストです。
私が取り組んできたさまざまな試みのいくつかはコメントアウトされています。
logList = []
for log in logs:
logList.append(log)
私は多分..私は、これは、このリストをループその後、リスト内の個々のログファイルを置くために、前方方法であることとreadlines()
続いopen()
を使用することが考えられますが、私はここにロジックのいくつかの種類が欠けています正しく考えていない。
私は実際にここでいくつかのポインタでどうすればいいですか。
ありがとうございました。
ログはglobによる返り値としてすでにリストになっています。 –