对于重定向kdb中的标准输出,如何指导除结果之外的所有内容?

时间:2016-05-27 20:33:58

标签: logging kdb

因此对于查询函数,它是产品表。如何在不返回结果的情况下重定向标准输出?我想重定向标准输出而不重定向表结果。我想捕获kdb生成的每条消息。

所以我试过这个

q abc.q -p 4000 < /dev/null > kdb.log 2>&1 &.

但它也会重定向查询结果,对吗?

如果只是直接错误,那并不能抓住一切,对吧?除了结果,我想抓住一切。

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定义...