2010-12-02 7 views
0

私のプロジェクト用のロガーを作成しました。私はテキストファイルにログを記録します。あなたが推測するように、タイムスタンプ、名前空間、クラス、メソッド、そして最後にログメッセージがあります。このように:カスタムログファイルを分析するのに最適な選択肢

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 ! 

私はログファイル(テーブル、グラフなど)を分析するための無料ツールを探しています。 ありがとうございます。

答えて

0

マイクロソフトではLogParserがあり、どのログ形式でも非常に柔軟性があります。欠点は、コマンドラインツールであり、2005年(バージョン2.2)からの変更がないことです。あなたはあなたのログファイルに対してSQLコマンドを書くことができ、あなたのために適切なテーブル/チャートを生成します。いくつかのGUIツールが書かれています。

0

ログメッセージをカスタム形式で出力するので、実際にはカスタムパーサーが必要です。

0

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 

そのようなことは、あなたが始めるのに役立つかもしれません。