日志属性

设置日志属性

Cromwell接受两个用于控制日志记录的属性。您可以通过命令行使用-D设置这些Java系统属性:

$ java -DLOG_LEVEL=DEBUG -jar cromwell.jar server

或者,您也可以通过环境变量设置日志级别:

export LOG_LEVEL=DEBUG
java -jar cromwell.jar server

如果通过系统属性和环境变量设置相同的属性,系统属性会覆盖环境变量。

日志格式

Cromwell日志输出有两种格式:prettystandard。您可以通过设置LOG_MODE属性来更改日志格式。

  • standard模式下,您的日志将以更适合服务器日志的格式写入,不包含ANSI转义码颜色。

  • pretty模式下,日志会以多彩、更易阅读的格式输出,更适合单个工作流运行。

服务器的默认模式是standard,而运行单个工作流时的默认模式是pretty。您可以通过以下方式运行cromwell来显式指定格式:

java -DLOG_MODE=pretty -jar cromwell.jar server

日志级别

默认情况下,Cromwell以LOG_LEVEL级别INFO输出日志信息。有时您可能需要更多或更少的日志信息。例如,在调试问题时,您可能希望临时增加日志中的信息量。或者,标准级别可能过于详细,您可能只希望Cromwell记录警告和错误信息。

您可以通过属性LOG_LEVEL设置日志级别为以下任意一个值:TRACEDEBUGINFOWARNERROROFF。默认日志级别为INFO

java -DLOG_LEVEL=DEBUG -jar cromwell.jar server

工作流日志

当工作流运行时,Cromwell会为该工作流专门生成一个日志文件。工作流完成后,为释放本地磁盘空间,Cromwell会删除此日志文件的本地副本。有关防止cromwell删除每个工作流日志的更多信息,请参阅配置部分的日志设置。

在Cromwell删除文件且工作流完成之前,您可以配置Cromwell将工作流日志复制到不同位置。通常,您会希望将日志复制到远程存储桶或目录。要指定复制日志的目标远程目录,请使用单独的工作流选项final_workflow_log_dir

通话记录

工作流中的每次调用运行时,都会向标准输出和标准错误生成输出。这些输出按调用存储在调用日志文件中。此外,根据后端的不同,可能会生成特定于每个调用的后端日志。

所有调用日志都可以在工作流结束时复制到远程目录。通过设置工作流选项中的final_call_logs_dir来配置此目录。