我应该如何写入Kdb中的文本文件?

时间:2016-05-27 15:52:05

标签: logging text kdb

如果我想在日志中写一些内容,我应该怎么做?我试过了

h:hopen `:stderr.log; 
h"test"; 
h "test2"

如何在不同的行中创建下一个条目?另外,我写了一个函数:

logWrite:{[para]
h:hopen `:stderr.log; 
h"para"}; 

它不起作用,因为para在引号内。你知道我怎么能传递参数吗?

2 个答案:

答案 0 :(得分:3)

Q1: 写入新行 - 否定文件句柄

 q)h:hopen `:/test.log
 q)neg[h] "first line"
 q)neg[h] "second line"
 q)hclose h
 q)read0 `:/test.log
 "first line"
 "second line"

Q2:

logWrite:{[para]
   h:hopen`:stderr.log;
   neg[h] para;
   hclose h;
  };

logWrite["test"]
logWrite["test2"]

read0`:stderr.log;
"test"
"test2"

答案 1 :(得分:0)

  

如何在不同的行中创建下一个条目

只需添加换行符\nh"some string\n"

  

它不起作用cuz para在引号内

para周围不需要引号:h[para]或只是h para会做你想要的。当您将para括在双引号中时,您正在向句柄写入字符串“para”,而您需要的是发送函数参数的值。