ログから例外を抽出します。その例を次に示します。
例外: System.InvalidOperationException: コレクションが変更されました。列挙操作が実行されない場合があります。System.Collections.Generic.List`1.Enumerator.MoveNextRare() で test.Modules.UI.Table.<>c_ DisplayClass2.b _0 () で System.Win
ログの言語が異なる場合があるため、次のようになります。
Exception: System.InvalidOperationException: La colección fue modificada, la operation de enumeración no puede ejecutar. System.Collections.Generic.List`1.Enumerator.MoveNextRare() で Test.Modules.UI.Table.<>c_ DisplayClass2.b _0 () で System.Win
ご覧のとおり、言語が異なるため例外部分のみが異なりますが、後の部分は同じになります。私はこれらすべての例外をデータベースに保存しています。多くの場合、長さは 300 文字にトリミングされていますが、同じかどうかを判断するには 300 文字で十分です。
だから私はおそらく例外をスキップして次の300文字を比較すると思っていましたが、例外がどこで終了するかを知るのは非常に難しくなり、例外の開始と終了を表示する特定のものはありません.
これを克服する方法はありますか?たぶん、レーベンシュタインを使用して、近い一致がある場所を強調表示し、それらをフィルタリングして、別の言語で書かれた同じ例外を手動で特定したら、例外をリンクできるインターフェイスをセットアップできますか?
私の最終的な目標は、これらのログを何千も見直して、同じ例外がいくつ見つかったかを確認することです。ほとんどのログは英語ですが、おそらく 25% は非英語であるため、通常は完全一致のクエリを実行するだけで済みます例外部分の言語が異なるため、おそらく60〜70%しか一致しません。例外の後の部分が別の例外と一致する場合がまれにあるかもしれませんが、それはまれであるため、あまり気にする必要はありません
PHPでこれを行う必要があります