【发布时间】:2014-11-17 00:13:41
【问题描述】:
谁能告诉我一些详细说明 ImageMagick 的 log.xml 文件参数化的文档?到目前为止,我能够找到的所有内容,除了 ImageMagick 'resources' 页面上的 1 段描述之外,都只是默认文件本身的转储。我有兴趣了解与“事件”、“输出”、“文件名”等参数相关的细节。
谢谢, 戴夫
【问题讨论】:
标签: xml logging configuration imagemagick
谁能告诉我一些详细说明 ImageMagick 的 log.xml 文件参数化的文档?到目前为止,我能够找到的所有内容,除了 ImageMagick 'resources' 页面上的 1 段描述之外,都只是默认文件本身的转储。我有兴趣了解与“事件”、“输出”、“文件名”等参数相关的细节。
谢谢, 戴夫
【问题讨论】:
标签: xml logging configuration imagemagick
源代码中给出了一个示例log.xml,如下所示:
<!--
The format of the log is defined by embedding special format characters:
%c client
%d domain
%e event
%f function
%g generation
%i thread id
%l line
%m module
%n log name
%p process id
%r real CPU time
%t wall clock time
%u user CPU time
%v version
%% percent sign
\n newline
\r carriage return
-->
<logmap>
<log events="None"/>
<log output="console"/>
<log filename="Magick-%g.log"/>
<log generations="3"/>
<log limit="2000"/>
<log format="%t %r %u %v %d %c[%p]: %m/%f/%l/%d\n %e"/>
</logmap>
只有在发出-debug 选项时才会生成日志,并且事件需要匹配log.xml 值(它们可以用逗号分隔)。 events 的选项是:
output 选项映射缓冲区的处理程序。您可能将 file 写入标准日志文件。 output 的其他选项是:
大量@源文件log.c 以获取有关output 选项的更多详细信息。 filename、limit 和 format 等其他属性非常标准且行为与其他日志记录 API 类似。我建议将它们设置为默认值。
例如:
如果我只对记录内存 resources 和 real CPU time 感兴趣。我可以配置log.xml为
<logmap>
<log events="Resource"/>
<log output="File"/>
<log filename="Magick-Resource-%p.log"/>
<log generations="3"/>
<log limit="2000"/>
<log format="%u|%e" />
</logmap>
这将创建一个由进程 ID 标识的本地日志文件,并记录一条管道分隔的消息。运行命令convert -debug Resource rose: -negate rose.png 将生成一个名为“Magick-Resource-5937.log”的文件,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<log>
<event>0.010u|Area: 25.8KB/25.8KB/4.295GB</event>
<event>0.010u|Memory: 25.8KB/25.2KiB/2GiB</event>
<event>0.020u|Memory: 210B/25.4KiB/2GiB</event>
<event>0.020u|Memory: 210B/25.2KiB/2GiB</event>
<event>0.020u|Memory: 25.8KB/0B/2GiB</event>
</log>
【讨论】: