首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >打印日志时的Python数组问题

打印日志时的Python数组问题
EN

Stack Overflow用户
提问于 2018-07-03 07:47:25
回答 1查看 492关注 0票数 0

有谁能帮我一下吗?同时将数组的值保存到变量以将它们存储在日志中。数组的值被保存的次数与索引的次数一样多,例如,如果索引为1,则数组中的值仅被捕获一次并保存在日志中,但如果索引为2,则数组的值被捕获2次并被复制,相同的行为将根据索引中的值而增加。

代码语言:javascript
复制
      '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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-03 08:20:40

setup_logger在每次迭代中添加一个处理程序。结果是,在迭代N次时,N个处理程序将打印相同的消息。

把它移出循环(我也清理了循环)

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51144944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档