# SDAS日志和退出码规范

## 日志

SDAS将标准输出（stdout）与错误信息（stderr）进行分离，方便用户快速定位问题&#x20;

* **标准输出分类**：打印正常结果，程序运行状态（如进度条，成功消息等）
* **错误信息分类**：错误信息，警告信息，异常信息
* **运行示例**`：example_bash_script > stdout.log 2> stderr.log &`&#x20;
  * `stdout.log`文件将包含正常输出&#x20;
  * `stderr.log`文件将包含错误信息

## 退出码

退出码通常是由程序在运行结束时返回给操作系统的状态码，用于表示程序的运行结果是否成功。通常返回值 0 表示程序正常退出，非 0 表示程序因错误退出，方便后续在脚本中(如WDL、snakemake等)通过退出码来判断程序完成状态。

**SDAS退出码定义如下**：&#x20;

* 正常退出：0&#x20;
* 核心算法main function错误：1&#x20;
* 命令行参数错误: 2&#x20;
* 输入文件格式或者内容错误：3&#x20;
* 输出文件错误：4
