当我启动weblogic服务器时,会打印各种日志。登录weblogic的结构可以在here上找到。
我正在编写一个脚本来测试weblogic服务器是否成功启动。我只需要过滤<Error>
个日志消息,但是,有一个条件,它们之后是一些java异常。因此,特别是某些java bean的失败(通过抛出的异常)是服务器失败的唯一标准。
我想忽略所有其他类型的<Error>
日志。
是否有一些工具可以帮助解决这个问题?
更新
正常<Error>
的示例,应忽略这些类型的错误:
<May 29, 2015 5:02:44 PM IST> <Notice> <Stdout> <BEA-000000> <|E |17:02:44 |2 |VGORADE01 |CorrelationID=VGORADE01_2_1432899124676 |'HotDirectory': /hot does not exist: disabling service.>
<May 29, 2015 5:02:44 PM IST> <Error> <APM> <BEA-000000> <|E |17:02:44 |2 |VGORADE01 |CorrelationID=VGORADE01_2_1432899124676 |'ColdDirectory': /cold does not exist: disabling service.>
<May 29, 2015 5:02:44 PM IST> <Notice> <Stdout> <BEA-000000> <|E |17:02:44 |2 |VGORADE01 |CorrelationID=VGORADE01_2_1432899124676 |'ColdDirectory': /cold does not exist: disabling service.>
表示失败的<Error>
示例,注意到抛出异常的堆栈跟踪:
<May 29, 2015 11:51:37 PM IDT> <Error> <APM> <BEA-000000> <|E |23:51:37 |com.amdocs.crm.uif.OrderingBackendAdapter
java.lang.ClassNotFoundException: com.amdocs.crm.uif.OrderingBackendAdapter
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:335)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:302)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:180)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at com.amdocs.uif.server.UifBackendConnector.initialize(UifBackendConnector.java:72)
at com.amdocs.uif.server.UifServerRequestResponseMgr.initializeImpl(UifServerRequestResponseMgr.java:421)
答案 0 :(得分:0)
也许这个小脚本有帮助。它并不完美,但是你可能需要grep WLS日志文件来获取完整的日志文件条目,即使它们超过了多行:
https://github.com/freeella/grepWlsLogFile
$ grepWlsLogFile.pl -f /path/to/AdminServer.log -s Error -c "Exception:"
但您必须使用日志文件。解析时STDOUT问题要大得多,因为消息可能跨越多行,就像你的异常一样,可能包含不可预测的&lt;和&gt;。
答案 1 :(得分:0)
在Windows服务器上,您可以在unix
上使用像grep这样的find命令C:\甲骨文\中间件\ user_projects \域\ BASE_DOMAIN \服务器\的AdminServer \日志&GT;
输入AdminServer.log | find / i“Error”
像这样你可以使用windows tail实用程序来尾部文件并应用上面的find命令来查找最近的异常,或者使用find多次查找按日期查找,然后按错误查找命令
输入AdminServer.log | find / i“Jun 4”|找/我“错误”