启动CYC实例时的日志设置异常

时间:2016-04-19 18:11:00

标签: opencyc

我一直在尝试让服务器端的日志工作与客户端进行任何交互(api / cycKB浏览器)....但是还没有成功..

这是我得到的异常...不确定json文件有什么问题(log4j2.json) http://pastebin.com/2CJJEbDB(日志内容)

以下是log4j2.json文件的内容 http://pastebin.com/MKZA0R3d

有人能指出我们的错误吗?

3 个答案:

答案 0 :(得分:0)

从错误来看,似乎log4j认为你的文件包含XML,可能是因为名称中有一个逗号。

答案 1 :(得分:0)

遗憾的是,log4j2无法控制Cyc服务器中的所有日志记录。

我刚刚尝试了这种方法,并且效果很好:

如果您正在尝试观察应用程序和Cyc服务器之间的流量,您可以获取通过二进制CFASL端口(API使用的端口)的所有活动的日志。

要启用API日志记录,请执行以下操作:

  1. 设置任务处理器日志记录级别:
  2. (set-task-processor-verbosity 2)

    1. 告诉它在哪里记录:
    2. 要记录到文件,请使用对您的安装有意义的路径(即服务器进程具有写权限的路径)评估以下内容:

      (clet ((path (format-nil "/home/USER/cyc-api-~A.log" (cyc-image-id)))) (set-tpool-background-msg-path path))

      要登录Cyc服务器控制台,请评估此代码:

      (csetq *tpool-background-msg-stream* *standard-output*)

      任何此代码都可以在启动时自动评估,方法是将其放在文件init/release-specific-init.lisp

      或者,可以在运行时从控制台或SubL Interactor(Cyc浏览器中的工具)评估这些表单。您还可以在运行时重新评估任何此代码,以立即更改日志记录。

      请注意,任务处理器是异步运行的,因此您将看到请求的一个条目,以及响应日志中的另一个条目。可以通过查看请求ID来匹配它们。

答案 2 :(得分:0)

您可以通过将 MONITOR-HTML-ACTION 设置为t来启用浏览器日志记录到标准输出(控制台)。

e.g。

(csetq *MONITOR-HTML-ACTION* t)

在提示符下对SubL Interactor进行评估或将其放入系统初始化文件中会将每个HTTP请求的URL部分记录到标准输出