日志目的地
runtime.log
类别下的destination
类别提供了允许您控制Antora写入日志消息的键。您可以配置Antora将消息写入标准流或文件。您还可以控制Antora何时以及如何写入这些日志消息。
文件键
file
键配置在playbook中log
类别键的destination
类别键下。file
键是可选的。此键的值可以是本地文件的路径,值stdout
(或1)表示标准输出流,或值stderr
(或2)表示标准错误流。
runtime:
log:
destination:
file: ./antora.log
如果设置了此键,则指定的目的地将被使用,而不管日志格式如何,而不是使用默认目的地。
file
的解析规则与playbook中的任何路径相同。相对路径将使用以下规则扩展为绝对路径:
-
如果第一个路径段是波浪号(
~
),则剩余路径相对于用户的主目录解析。 -
如果第一个路径段是点(
.
),则剩余路径相对于playbook文件的位置解析。 -
如果第一个路径段是波浪号直接跟着加号(
~+
),或不以前述前缀开头,则剩余路径相对于当前工作目录解析。
如果file
键的值是本地文件的路径,而不是标准流,并且日志格式是pretty,则消息不会被着色。请记住,如果将日志消息路由到文件,您将不再在终端中看到这些消息。您需要检查日志文件以查看Antora是否向其写入了任何日志消息。
默认情况下,Antora在写入文件之前截断文件。您可以使用append
键更改此行为。
追加键
append
键配置在playbook中log
类别键的destination
类别键下。append
键是可选的。此键的值可以是true
或false
。默认情况下,值为false
。如果将值设置为true
,Antora将在写入文件之前不截断(即不清除)文件。这意味着来自Antora上一次运行的日志消息将被保留。
runtime:
log:
destination:
file: ./antora.log
append: true
此键仅在file
键被指定为本地文件路径时才相关。
默认情况下,Antora会立即将日志消息写入目的地。您可以使用buffer_size
和sync
键来控制此行为。
缓冲区大小键
buffer_size
键配置在playbook中log
类别键的destination
类别键下。buffer_size
键是可选的。此键的值可以是0或正整数。该值表示要缓冲的字节数(例如,4096表示4K)。
默认情况下,该值为0,这意味着Antora不会缓冲日志消息。如果值大于0,则Antora将批量处理日志消息,直到达到或超过指定的字节大小。一旦缓冲的日志消息的驻留大小达到或超过此值,Antora将刷新缓冲区到目的地。
runtime:
log:
destination:
buffer_size: 4096
如果将日志消息路由到文件,则buffer_size
键提供了一种避免过多写入的方法。通常只有在运行Antora时遇到资源问题时才需要使用此键。
sync
键提供了另一种控制写入的方式。
同步键
sync
键配置在playbook中log
类别键的destination
类别键下。sync
键是可选的。此键的值可以是true
或false
。默认情况下,值为true
,这意味着Antora使用同步操作写入目的地。如果将值设置为false
,Antora将切换到使用异步操作写入目的地。这意味着日志消息将在下次Node.js进程可以执行I/O操作时写入。
runtime:
log:
destination:
file: ./antora.log
sync: false
将sync
键设置为false
可以防止日志事件暂停程序以完成写入。相反,这些写入被放入队列,并在下次Node.js进程处于空闲状态时执行,例如在执行网络操作时。换句话说,写入自然地被批处理。如果生成您的站点产生大量日志消息,这可以帮助Antora更有效地执行。
您可以将sync
键与buffer_size
键结合使用,以最大化延迟多少日志消息写入。