我一直在尝试让服务器端的日志工作与客户端进行任何交互(api / cycKB浏览器)....但是还没有成功..
这是我得到的异常...不确定json文件有什么问题(log4j2.json) http://pastebin.com/2CJJEbDB(日志内容)
以下是log4j2.json文件的内容 http://pastebin.com/MKZA0R3d
有人能指出我们的错误吗?
答案 0 :(得分:0)
从错误来看,似乎log4j认为你的文件包含XML,可能是因为名称中有一个逗号。
答案 1 :(得分:0)
遗憾的是,log4j2无法控制Cyc服务器中的所有日志记录。
我刚刚尝试了这种方法,并且效果很好:
如果您正在尝试观察应用程序和Cyc服务器之间的流量,您可以获取通过二进制CFASL端口(API使用的端口)的所有活动的日志。
要启用API日志记录,请执行以下操作:
(set-task-processor-verbosity 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部分记录到标准输出