Reputation: 101
I try to make file. It has all error message in particular log file.
This is log contents.
[ERROR] 2015-08-05 14:20:10 HandlerExceptionResolver -
org.springframework.jdbc.BadSqlGrammarException:
.....
..e(SQLErrorCodeSQLExceptionTranslator.java:231)
..ractFallbackSQLExceptionTranslator.java:73)
..Possible(MyBatisExceptionTranslator.java:73)
..Interceptor.invoke(SqlSessionTemplate.java:371)
..electOne(Unknown Source)
..emplate.selectOne(SqlSessionTemplate.java:163)
[INFO] 2015-08-05 14:20:39 LoggingInterceptor - /products/430
and I try it
awk '$1 ~/^\[ERROR\]$/{print$0}' original.log > extract.log
but the result is only one line.
[ERROR] 2015-08-05 14:20:10 HandlerExceptionResolver -
my expected is..
[ERROR] 2015-08-05 14:20:10 HandlerExceptionResolver -
org.springframework.jdbc.BadSqlGrammarException:
.....
..e(SQLErrorCodeSQLExceptionTranslator.java:231)
..ractFallbackSQLExceptionTranslator.java:73)
..Possible(MyBatisExceptionTranslator.java:73)
..Interceptor.invoke(SqlSessionTemplate.java:371)
..electOne(Unknown Source)
..emplate.selectOne(SqlSessionTemplate.java:163)
I want to know how to extract all error message.
Upvotes: 1
Views: 88
Reputation: 10865
One idea would be to turn printing off and on depending on the level you want to print:
$ cat log.awk
/^\[[A-Z]+\]/ { flag = 0 }
/^\[ERROR\]/ { flag = 1 }
flag
$ cat log.txt
[ERROR] 2015-08-05 14:20:10 HandlerExceptionResolver -enter code here
org.springframework.jdbc.BadSqlGrammarException:enter code here
.....enter code here
..e(SQLErrorCodeSQLExceptionTranslator.java:231)enter code here
..ractFallbackSQLExceptionTranslator.java:73)enter code here
..Possible(MyBatisExceptionTranslator.java:73)enter code here
..Interceptor.invoke(SqlSessionTemplate.java:371)enter code
..electOne(Unknown Source)enter code here
..emplate.selectOne(SqlSessionTemplate.java:163)enter code here
[INFO] 2015-08-05 14:20:39 LoggingInterceptor - /products/430
[ERROR] some other
multiline
error
[WARN] A warning not an error
$ awk -f log.awk log.txt
[ERROR] 2015-08-05 14:20:10 HandlerExceptionResolver -enter code here
org.springframework.jdbc.BadSqlGrammarException:enter code here
.....enter code here
..e(SQLErrorCodeSQLExceptionTranslator.java:231)enter code here
..ractFallbackSQLExceptionTranslator.java:73)enter code here
..Possible(MyBatisExceptionTranslator.java:73)enter code here
..Interceptor.invoke(SqlSessionTemplate.java:371)enter code
..electOne(Unknown Source)enter code here
..emplate.selectOne(SqlSessionTemplate.java:163)enter code here
[ERROR] some other
multiline
error
Upvotes: 1