Fork form sls-logger Just change the way of import protobuf file from sls.proto to sls.json, so that it works well with webpack
The nodejs logger for aliyun SLS with minimum dependencies.
Config Name | Default | Type | Required | Description |
---|---|---|---|---|
accessKey | string | true | Your access key to SLS | |
accessSecret | string | true | Your secret to access SLS | |
endpoint | string | true | Your SLS endpoint, e.g. example.cn-hangzhou.log.aliyuncs.com | |
logstore | string | true | Your logstore name | |
source | string | false | Source for your logs | |
topic | string | false | Topic for your logs | |
hashkey | string | false | ||
compress | false | boolean | false | Use lz4 to compress log payload |
tags | key-value pair | false | Extra tags for your logs | |
level | INFO | string / number | false | Log level |
disabled | false | boolean | false | Disable sls and log to stdout |
Note: if your configuration is incorrect(fail to get logstore), all logs will be written to stdout.
const logger = new SlsLogger({
endpoint: "example.cn-hangzhou.log.aliyuncs.com",
accessKey: "your_access_key",
accessSecret: "your_access_secret",
logstore: "your_logstore",
source: "test",
topic: "test",
compress: true,
level: "INFO",
disabled: true,
});
logger.info(
"Hello world!",
new Date(),
function () { "abc"; },
{ a: 1, b: { c: 1 }, d: "123", e: false },
new Object(),
[1, 2, 3, "abc", false, null, undefined, new Error("error1")],
SlsLogger.createField("module", "main"),
1234,
true,
null,
undefined,
new Error("error2")
);
And you can pass a function as log message generator to improve performance; it will not be called unless the log level is enabled.
logger.debug(
() => "Debug message from generator.",
SlsLogger.createField("module", "debug")
);
// Set log level on the fly, e.g. through user signal or rest api.
logger.setLevel("DEBUG");
This project welcomes contributions from the community. Contributions are accepted using GitHub pull requests. If you're not familiar with making GitHub pull requests, please refer to the GitHub documentation "Creating a pull request".