我们有一个多代理Java环境,其中不同的代理很可能会产生各种抛出stderr的异常。bash - 如何过滤java异常信息
这里是从巨大的例外抽取的样本数
**java.security.AccessControlException: access denied (java.io.FilePermission ..\tournament\Driver\HotelRoomAnalyser.class read)**
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.length(Unknown Source)
at emarket.client.EmarketSandbox$SandboxFileLoader.loadClassData(EmarketSandbox.java:218)
at emarket.client.EmarketSandbox$SandboxFileLoader.loadClass(EmarketSandbox.java:199)
at java.lang.ClassLoader.loadClass(Unknown Source)
**java.security.AccessControlException: access denied (java.io.FilePermission ..\tournament\Driver\HotelRoomAnalyser.class read)**
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.length(Unknown Source)
at emarket.client.EmarketSandbox$SandboxFileLoader.loadClassData(EmarketSandbox.java:218)
at emarket.client.EmarketSandbox$SandboxFileLoader.loadClass(EmarketSandbox.java:199)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at MySmarterAgent.hotelRoomBookings(MySmarterAgent.java:108)
幸好所有顶级异常由没有前导空格表示,通过为包裹**以上。
我关注的是第一线把所有的顶级异常名(由冒号分隔:)的,下面一起包含类似
at emarket.client.EmarketSandbox$SandboxFileLoader.loadClassData(EmarketSandbox.java:218)
基本上,一些带衬垫的风格,开始用“at”并以“.java:108”结尾
因此,此信息可以转发给该易于出错的代理的所有者,并让他/她修复它。
我在〜/ .bashrc代码现在未完:
alias startmatch='java -jar "emarket.jar" ../tournament 100';
function geterrors()
{
startmatch 2>"$1";
a=0;
while read line
do
if true;
then a=$(($a+1));
echo $a;
fi;
done
}
什么,现在确实是所有标准错误重定向到传递的第一个参数指定的文本文件,并在此之后,解析该文本文件一行一行,如果某些条件返回true,则仅回显该行。
而我坚持在循环内做什么。
任何建议是非常赞赏,任何暗示都欢迎。
@ ghostdog74:谢谢你!现在就开始工作。 – 2010-03-24 01:00:50