我有一个调用rest-api扩展并启动所有数据库备份的bash脚本( rest-api扩展的代码可以在我之前的帖子中找到:MarkLogic 7 - database-backup with rest-api)
问题是所有的信息都被转储到/var/opt/MarkLogic/Logs/ErrorLog.txt中,这些并不是真正的错误。
我研究了xdmp:trace、xdmp:query-trace、xdmp:log,并尝试在xdmp:database-backup之前添加简单的xdmp:query-trace(true()),但这并没有什么不同。
环顾邮件列表和http://developers.marklogic.com,似乎人们尝试了类似的东西,但我找不到正确的例子来说明它是如何做到的。有没有办法将这些消息重定向到自定义文件,或者将所有消息打印到标准输出而不是日志中?
这样会更容易监视备份,而不是在那里挖掘大量其他系统消息。
我正在寻找的信息是:已启动,如果有错误,已完成。
发布于 2015-10-23 20:47:13
如果您愿意设置轮询,那么创建一个调用xdmp:database-backup-status()的端点。传入job-id并每隔n秒检查一次,直到完成为止。
发布于 2015-10-22 05:13:03
xdmp:query-trace函数用于优化查询,它们还被发送到文件和系统日志。
在管理工具(Configure > Groups > Default)中,有一个标题为file log level的设置,用于控制发送到ErrorLog.txt文件的消息的粒度。如果将该值更改为warning或error (或更高),它将只包含更关键的日志记录信息。
但是,由于这将从日志中排除潜在的有用信息,因此常见的解决方案是通过筛选器监视该日志文件,因此您仍可以在以后筛选排除的消息。许多日志工具都能够使用简单的字符串匹配或正则表达式进行过滤。所有MarkLogic的日志消息都以日志级别为前缀("Info:“、"Notice:”、"Warning:“等),因此很容易过滤掉您不想要的消息。您可以使用tail来完成所有这些工作,并且有很多很好的解决方案,所以如何做到这一点。
除了file log level设置之外,还有一个system log level设置可以控制发送到操作系统的消息的粒度。如果您有更好的工具来监视和过滤此输出,则可以使用这些工具。
此外,当您调用xdmp:log时,您可以将所需的日志级别作为第二个参数传递,它只会出现在粒度设置为该级别或更高级别的日志中。
https://stackoverflow.com/questions/33265554
复制相似问题