有谁能帮我一下吗?同时将数组的值保存到变量以将它们存储在日志中。数组的值被保存的次数与索引的次数一样多,例如,如果索引为1,则数组中的值仅被捕获一次并保存在日志中,但如果索引为2,则数组的值被捕获2次并被复制,相同的行为将根据索引中的值而增加。
'lass tmonCon():
def setup_logger(name, log_file, level=logging.DEBUG):
formatter = logging.Formatter(' %(levelname)s %(message)s')
handler = logging.FileHandler('C:\\config\\' + log_file)
handler.setFormatter(formatter)
logger = logging.getLogger(name)
logger.setLevel(level)
logger.addHandler(handler)
return logger
# conection to the database to get the Webtmon details
try:
connect = psycopg2.connect("dbname='TMONNETWarehouse' user='postgres' host='localhost' password='John1710'")
except:
print ("I am unable to connect to the database")
# Read the db and assign the details to a variable
cur = connect.cursor()
cur.execute("""SELECT "Type","Realtime", "LowerBoundary", "NAID", "RecordTime" FROM "Boundaries" """)
rows = cur.fetchall()
for i in range (len(rows)):
logType = rows[i][0]
logRealT = rows[i][1]
logLowerB = rows[i][2]
logNaid = rows[i][3]
logRecordT = rows[i][4]
logSearch = setup_logger('tmonSearch', 'tmonSearch')
logSearch.info(str(logType)+", " + str(logRealT) + ", " + str(logLowerB) +", "+str(logNaid)+", "+str(logRecordT))
#print (logType, logRealT, logLowerB, logNaid, logRecordT)
# logSearch = setup_logger('tmonSearch', 'tmonSearch')
#logSearch.info(rows)
# import variable from the main class and use variables for calculation
# ***************************************************************
# * Add the filter method to determine if the alert needs to be *
# * sent *
# * *
# ***************************************************************
for i in range (len(rows)):
if (rows[i][1] < rows[i][2] * tmonMain.DELTA_ADJUST) and (rows[i][1] < rows[i][2] - tmonMain.DELTA_ADJUST):
RealT = rows[i][1]
NETID = rows[i][3]
RecTime = rows[i][4]
logCount = setup_logger('tmonCount', 'tmonCount')
logCount.warning(str(RealT)+"," + str(NETID) + "," + str(RecTime))
reminder = 0'
我的日志是您可以看到第四个值在每个循环信息T,0.0,0.0,MXO1Z,2018-05-30 16:59:00信息T,0.0,0.0,RO335,2018-05-30 16:58:00信息T,0.0,0.0,RO335,2018-05-30 16:58:00信息P,0.0,0.0,PKL55,2018-05-30 16:58:00信息P,0.0,0.0,PKL55,2018-05-30 16:58:00信息P,0.0,0.0,PKL55,2018-05-30 16:58:00信息P,0.0,0.0,GU587,2018-05-30 16:58:00信息T,0.0,0.0,PK999,2018-05-30 17:00:00信息T,0.0,0.0,PK999,2018-05-30 17:00:00信息T,0.0,0.0,PK999,2018-05-30 17:00:00
发布于 2018-07-03 08:20:40
setup_logger在每次迭代中添加一个处理程序。结果是,在迭代N次时,N个处理程序将打印相同的消息。
把它移出循环(我也清理了循环)
log_search = setup_logger('tmonSearch', 'tmonSearch')
for row in rows:
log_search.info(', '.join((str(r) for r in row))) # not sure if str conversion is needed
https://stackoverflow.com/questions/51144944
复制相似问题