#! C:\Python27\python.exe
# Imports
import os
import re
import sys
# Configuration
#show_everything = True
show_everything = False
#logFilePath = 'C:/Users/' + os.getenv('username') + '/Documents/My Games/Binding of Isaac Rebirth/log.txt'
#logFilePath = 'C:/Users/' + os.getenv('username') + '/Documents/My Games/Binding of Isaac Afterbirth/log.txt'
logFilePath = 'C:/Users/' + os.getenv('username') + '/Documents/My Games/Binding of Isaac Afterbirth+/log.txt'
fileArrayPosition = 0
def main():
while True:
parseLog()
def parseLog():
global fileArrayPosition
# Read the log into a variable
try:
with open(logFilePath, 'r') as f:
fileContents = f.read()
except Exception:
print('I could not open the log file at "' + logFilePath + '".')
sys.exit(1)
# Convert it to an array
fileArray = fileContents.splitlines()
# Return to the start if we go past the end of the file (which occurs when the log file is truncated)
if fileArrayPosition > len(fileArray):
fileArrayPosition = 0
# Process the log's new output
for line in fileArray[fileArrayPosition:]:
# Show everything for debugging purposes
if show_everything:
print(line)
# Show errors and Lua debugging messages
if show_everything == False:
if line.startswith('[INFO] - ERR'):
print(line)
elif line.startswith('[INFO] - Lua Debug: '):
print(line)
elif "Error" in line or "error" in line or "ERROR" in line:
print(line)
elif "Warn" in line or "warn" in line or "WARN" in line:
print(line)
elif "Fail" in line:
print(line)
# Set that we have read the log up to this point
fileArrayPosition = len(fileArray)
# The main program
if __name__ == '__main__':
main()
Comments