ログファイルで発生したすべての例外をgrepして(事前に例外を知りません)、発生回数を評価しようとしています。私が達成しようとしていることを明確にする例を次に示します。
次のログ ファイルを検討してください。
org.hibernate.exception.SQLGrammarException: ...
org.springframework.web.client.ResourceAccessException: I/O error: ...
org.springframework.web.client.HttpServerErrorException: ...
org.springframework.mail.MailSendException: ...
org.springframework.mail.MailSendException: ...
org.hibernate.exception.SQLGrammarException: ...
もちろん、ログ ファイルは例外を含む行だけで構成されているわけではないので、関心のないもの (警告、情報など) もあります。
次の出力を取得したいと思います (完全修飾例外名と発生回数、順序は関係ありません)。
org.hibernate.exception.SQLGrammarException 2
org.springframework.web.client.ResourceAccessException 1
org.springframework.web.client.HttpServerErrorException 1
org.springframework.mail.MailSendException 2
すべての例外を見つけるために、次の grep コマンド/パターンを思いつきましたが、一致するグループを選択して、発生をさらにカウントすることはできません。
grep -ioP --color "^[.*\.?]*(.*Exception):" myLogFile.log
アドバイスをいただければ幸いです。:)