Serverless应用引擎SAE(Serverless App Engine)提供基础实时日志功能,支持查看500行日志信息。同时,为满足更高的查阅需求,SAE支持文件日志收集功能,可将业务文件日志(容器内日志路径)、容器标准输出日志(stdout)收集至SLS中,帮助您无限制行数查看日志、自行聚合分析日志,方便业务日志对接。本文介绍如何配置文件日志收集。
前提条件
- 开通SLS并创建Logstore和Project。
- 确保应用中每个实例至少预留0.25 Core CPU和250 MB内存的可用资源。
注意事项
配置文件日志收集
在创建应用过程中配置文件日志收集
在部署应用过程中配置文件日志收集
更新应用配置的路径因实例数的不同而不同。本文以实例数大于等于1为例,介绍如何配置目标功能。当实例数等于0时的操作路径,请参见更新应用。
设置环境变量提升Logtail采集性能
您可以在SAE控制台通过设置环境变量的方式来配置Logtail启动参数。配置后,在开启日志收集服务的基础上,Logtail采集性能将得到提升,有效解决日志文件占用内存大、日志数据流量大和Logtail发送数据速率高等影响日志采集的瓶颈问题。
您需要在环境变量设置区域内,选择自定义或引用配置项的方式,并填写变量名称和变量值/变量引用。具体操作,请参见设置环境变量。
- 变量名称的填写规则
在需要配置的Logtail环境变量前增加sls_前缀。如下图所示,如果您需要添加Logtail参数max_read_buffer_size,则配置的环境变量为sls_max_read_buffer_size。图例表示每条日志读取的最大值为524288,单位:Byte。更多参数,请参见设置Logtail启动参数。
- 环境变量与Logtail启动参数对应关系
具体信息,请参见环境变量说明。
SLS采集标准输出去除前缀
如果您需要对SLS日志内容做更多个性化的字段提取设置,例如,去除标准输出日志的前缀,可选择完整正则模式,并配置如下信息。

- 行首正则表达式
\d+-\d+-\d+T\d+:\d+:\d+.\d+\+\d+.*
- 正则
\d+-\d+-\d+T\d+:\d+:\d+.\d+\+\d+:\d+\s\w+\s\w\s(.*)
如果您还需要展开JSON,可以添加插件配置。

{
"global": {
"DefaultLogQueueSize": 10
},
"processors": [
{
"type": "processor_split_log_regex",
"detail": {
"PreserveOthers": true,
"SplitKey": "content",
"SplitRegex": "\\d+-\\d+-\\d+T\\d+:\\d+:\\d+.\\d+\\+\\d+.*"
}
},
{
"type": "processor_regex",
"detail": {
"SourceKey": "content",
"Regex": "\\d+-\\d+-\\d+T\\d+:\\d+:\\d+.\\d+\\+\\d+:\\d+\\s\\w+\\s\\w\\s(.*)",
"Keys": [
"newline"
]
}
},
{
"detail": {
"SourceKey": "newline",
"KeepSource": true,
"ExpandDepth": 0,
"NoKeyError": true,
"ExpandConnector": "-"
},
"type": "processor_json"
}
]
}
更多信息,请参见使用完整正则模式采集日志和管理Logtail采集配置。
常见问题
- SAE日志功能是否支持滚动日志?
支持。您可以通过给日志文件名称添加通配符的方式滚动日志。
文件名称通配符支持星号(*)和问号(?)。
- 查看文件日志时,在SLS控制台无数据展示,如何处理?
通常SLS默认查询最近15分钟内的查询结果。如果SLS无数据显示,建议使用Webshell查看您的应用是否有文件日志信息。详细操作,请参见使用Webshell诊断应用。
- 如果有日志信息,请加入钉群(钉群号:32874633),联系产品技术专家进行咨询。
- 如果没有日志信息,请检查您的应用信息。