因此对于查询函数,它是产品表。如何在不返回结果的情况下重定向标准输出?我想重定向标准输出而不重定向表结果。我想捕获kdb生成的每条消息。
所以我试过这个
q abc.q -p 4000 < /dev/null > kdb.log 2>&1 &.
但它也会重定向查询结果,对吗?
如果只是直接错误,那并不能抓住一切,对吧?除了结果,我想抓住一切。
答案 0 :(得分:2)
查看以下内容..(我为家庭项目写了这个)
UIAlertAction
加载到q后,输入一些命令......
.logger.on:{[pth]
if[not ":/"~2#string[pth];-1"\n\tPlease supply absolute path to file; e.g.) .logger.on[`:/path/to/logfile]";];
.logger.err:hopen `$string[pth],".err";
.logger.std:hopen `$string[pth],".out";
writeOut:{ h:(.logger.std;.logger.err)x~`err; h(y,"\n");};
zpi:{y:-1_y; r:@[value;y;{"Error:'",x}]; $["Error:"~6#r;[e:6_r;x[`err;e];-1 e];[x[`std;y];show r]];}[writeOut;];
`.z.pi set zpi;
}
现在查看创建的日志文件;
q).logger.on[`:/home/chromozorz/q/projects/myLog]
q)2+2
4
q)1+1
2
q)t:([] a:til 5;b:5?`2)
q)2+string
'type
q)2+`a
'type
q)\\
如果您不想在控制台中显示结果,则只需编辑zpi定义...