2010-11-02 5 views
1

Я новичок в python ... Я пытаюсь прочитать файл журнала python и сделать словарь. Как это будет сделано с помощью регистратора?Python logger to dictionary

+2

Какой словарь? Какой файл журнала? Просьба показать образец вашего ввода и ваш предполагаемый результат. –

+2

. Вт ч а т? –

+1

Возможный дубликат [Какой лучший инструмент для анализа файлов журнала?] (Http://stackoverflow.com/questions/1994355/whats-the-best-tool-to-parse-log-files) –

ответ

1

прочитайте файл журнала python и создайте словарь. Как это будет сделано с помощью регистратора?

Это не будет.

logging пишет журналы.

file читает журналы.

Что вы спрашиваете?

Во-первых, поиск [Python] лог разборе: https://stackoverflow.com/search?q=%5Bpython%5D+log+parsing

Во-вторых, пожалуйста, напишите некоторые примеры кода.

1

Как сказал другой комментатор, вы не хотите использовать logging, чтобы прочитать файл, вместо этого используйте file. Вот пример написания файла журнала, а затем его чтение.

#!/usr/bin/env python 
# logger.py -- will write "time:debug:A:1" "time:debug:B:2" "time:debug:A:3" etc. log entries to a file 
import logging, random 
logging.basicConfig(filename='logfile.log',level=logging.DEBUG) 
for i in range(1,100): logging.debug("%s:%d" % (random.choice(["a", "b"]), i)) 
# logfile.log now contains -- 
# 100.1:debug:A:1 
# 100.5:debug:B:2 
# 100.8:debug:B:3 
# 101.3:debug:A:4 
# .... 
# 130.3:debug:B:100 

#!/usr/bin/env/python 
# reader.py -- will read aformentioned log files and sum up the keys 
handle = file.open('logfile.log', 'r') 
sums = {} 
for line in handle.readlines(): 
    time, debug, key, value = line.split(':') 
    if not key in sums: sums[key] = 0 
    sums[key] += value 
print sums 
# will output -- 
# "{'a': 50, 'b': 50}"