Лучший выбор для анализа пользовательских файлов журнала - PullRequest
0 голосов
/ 02 декабря 2010

Я написал регистратор для своих проектов. Я записываю в текстовые файлы и, как вы можете догадаться, есть отметка времени, пространство имен, класс, метод ... и, наконец, сообщение журнала. Как это:

TestNamespace.MyProject.exe Error: 0 : 
11/11/2010 10:24:11 AM
Assembly: TestNamespace.MyProject.exe
Class: myClass
Method: Test

This is a log message !


TestNamespace.MyProject.exe Error: 0 : 
11/11/2010 10:24:12 AM
Assembly: TestNamespace.MyProject.exe
Class: myClass
Method: Test2

This is another log message !

Я ищу бесплатный инструмент для анализа моих файлов журналов (некоторые таблицы, графики и т. Д.). Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 02 декабря 2010

Python

import datetime
from collections import namedtuple
Record = namedtuple( 'Record', 'file,level,number,datetime,assembly,class,method,message' )

def block_iter( theFile ):
    file_iter= iter(theFile)
    while True:
        items= [ next(file_iter) for x in range(9) ]
        if not items: break
        yield items

def record_iter( blocks ):
    for items in blocks:
        file, level, number = items[0].split(":")
        dt = datetime.datetime.strptime( items[1], "%m/%d/%Y %H:%M:%S %p" )
        _, _, asm = items[2].partition(":")
        _, _, cls = items[3].partition(":")
        _, _, mth = items[4].partition(":")
        txt = "".join( items[5:] )
        yield Record( file, level, number, dt, asm, cls, mth, txt )

with open( "someapp.log", "r" ) as source:
    for log in record_iter( block_iter( source ) ):
        print log

Нечто подобное может помочь вам начать.

0 голосов
/ 03 декабря 2010

Microsoft имеет LogParser, который очень гибок с любым форматом журнала. Недостатком является то, что это инструмент командной строки, и он не имеет изменений по сравнению с 2005 годом (версия 2.2). Вы можете написать команды SQL для вашего файла журнала, и он будет генерировать правильные таблицы / диаграммы для вас. Некоторые инструменты GUI написаны для него.

0 голосов
/ 02 декабря 2010

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

...