日志公约 0.1.0
此包使客向平台之日志,按三级各书一条:记录错误日志 当 console.error,记录警告日志 当 console.warn,记录信息日志 当 console.info。每呼一次,书一条,文原样授平台,换行、引号、控制之字皆不改,亦不增时、级或请求之识(此平台所附)。单条不逾八 KiB,即八千一百九十二 UTF-8 字节:文长逾此,则于字界截之,末附省略之标 …(已截断),截后总长(并标计之)不逾八千一百九十二字节,且不裂一字为二;未逾限者,逐字节原样而书。空文亦为合法之记。三术无返值,亦不因文之内容而败;平台得抽样、限流或弃其记,客不得因记之见否而易其业。
令牌、口令、密钥、邮箱之地址等敏感之讯,不得书入日志,此客之责也。 此包不察不脱:记一经书,即脱客之控,平台与运维之人皆得见之。书记之前,当自去此类之项,或易为不可还原之摘要。
一致之例
| 输入 | 必见 |
| --- | --- |
| 三术各书一条 你好 | 平台分得 error、warn、info 各一条,文皆 你好,无他级之记 |
| 恰八千一百九十二字节之 ASCII 文 | 原样而书,一呼恰一条 |
| 八千一百九十三字节之 ASCII 文 | 所书之文不逾八千一百九十二字节,以 …(已截断) 终,其前乃原文之首段 |
| 九千字节之三字节汉字 | 唯留整字,所书为有效 UTF-8,不逾八千一百九十二字节 |
| 含换行、制表、双引号、反斜线之文 | 原样而书 |
| 空文 | 书一空记 |
界
此包不设 debug、log 之级,不设结构化之字段、抽样、检索与脱敏,亦不保记之必存。截断之标定为 …(已截断);所谓一字,谓一 Unicode 码点(运行时之通字符):截惟在码点之间,绝不生非法之 UTF-8,然或裂多码点所成之可见之字(如带组合记号之字母、emoji 之序)。云工适配以三术映 Worker 之 console.error、console.warn、console.info;他宿主可书等价之分级日志,惟级别、单条之限与截断之法须同。