だから私は次の形式のテキストファイルをアップロードして解析しようとしています:
3月29日19:23:51,667 | DEBUG | 1 | 1:loremipsumを初期化しています...
3月29日19:23:31,682 | ERROR | 1 | 1:Foo.Bar.LauncherSystem.Blahの起動中にLorem.Ipsum.Exceptionが発生しまし
た。 LoremException:Lorem ipsum dolor sit amet、consectetur adipisicing elit ...
at System.Lorem.Ipsum.Dolor.foo()
at System.Lorem.Ipsum.Dolor.foo()
...
Mar 30 22:23:23,667 | DEBUG | 1 | 1:loremipsumを初期化しています...
Apr 02 17:24:17,413 | ERROR | 4 | 4:Loremがipsumに失敗しました... System.DolorException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
Lorem.Ipsum.Dolor.IpsumDbController..ctor()で
そして、Errorクラス:
public class Error
{
public int ID { get; set; }
public string Date { get; set; }
public string Description { get; set; }
public string ErrorType { get; set; }
}
2つのエラーがある場合:
エラー1
3月29日19:23:33-は日付
System.Blah.LoremException-はErrorTypeです。
Lorem ipsum dolor sit amet、consecteturadipisicingelit-は説明です
エラー2
Apr0217:24:17-は
DateSystem.DolorException-はErrorTypeです。
オブジェクト参照がオブジェクト インスタンスに設定されていません。-説明
文字列を解析する簡単な方法はありますか(正規表現を使用するかどうか)?文字列にERRORが含まれている場合は文字列を分割し、次の行を取得してErrorTypeに割り当てることを考えていました。
これをどうすればいいのかよくわからないので、助けていただければ幸いです。
更新:パターンは本当に一貫性がないので、String.Splitソリューションにはあまり自信がありません。
一般的なルールは次のとおりです。
すべて|エラー| Date (文字列Date)、System.blah.LoremException (ErrorType)の後に、Exceptionメッセージ(Description)が続きます。
ErrorType&Descriptionは、ERROR文字列とインラインであるか、次の行にある可能性があります。