{"id":24618009,"url":"https://github.com/nekonomokochan/aws-lambda-node-logger","last_synced_at":"2025-05-07T06:02:24.590Z","repository":{"id":44173792,"uuid":"113770479","full_name":"nekonomokochan/aws-lambda-node-logger","owner":"nekonomokochan","description":"Logger that can be used with AWS Lambda","archived":false,"fork":false,"pushed_at":"2023-02-27T23:22:03.000Z","size":2726,"stargazers_count":2,"open_issues_count":9,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T05:18:20.814Z","etag":null,"topics":["aws-lambda","logger","logging","node-module","nodejs","serverless"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nekonomokochan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-10T17:46:24.000Z","updated_at":"2021-10-27T08:00:57.000Z","dependencies_parsed_at":"2023-02-01T07:01:05.535Z","dependency_job_id":null,"html_url":"https://github.com/nekonomokochan/aws-lambda-node-logger","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekonomokochan%2Faws-lambda-node-logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekonomokochan%2Faws-lambda-node-logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekonomokochan%2Faws-lambda-node-logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nekonomokochan%2Faws-lambda-node-logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nekonomokochan","download_url":"https://codeload.github.com/nekonomokochan/aws-lambda-node-logger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252823910,"owners_count":21809711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-lambda","logger","logging","node-module","nodejs","serverless"],"created_at":"2025-01-24T23:49:28.819Z","updated_at":"2025-05-07T06:02:24.508Z","avatar_url":"https://github.com/nekonomokochan.png","language":"TypeScript","readme":"# aws-lambda-node-logger\n\n[![npm version](https://badge.fury.io/js/%40nekonomokochan%2Faws-lambda-node-logger.svg)](https://badge.fury.io/js/%40nekonomokochan%2Faws-lambda-node-logger)\n[![Build Status](https://travis-ci.org/nekonomokochan/aws-lambda-node-logger.svg?branch=master)](https://travis-ci.org/nekonomokochan/aws-lambda-node-logger)\n[![Coverage Status](https://coveralls.io/repos/github/nekonomokochan/aws-lambda-node-logger/badge.svg)](https://coveralls.io/github/nekonomokochan/aws-lambda-node-logger)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nLogging library for AWS Lambda\n\n## Getting Started\n\n### Install npm package\n\n### `yarn`\n\n`yarn add @nekonomokochan/aws-lambda-node-logger`\n\n### `npm`\n\n`npm install --save @nekonomokochan/aws-lambda-node-logger`\n\n## How To Use\n\n### Use With TypeScript\n\n```typescript\nimport * as lambda from \"aws-lambda\";\nimport { LambdaLoggerFactory, LogLevel } from \"@nekonomokochan/aws-lambda-node-logger\";\n\nexport const tsTest = async (event: lambda.APIGatewayEvent, context: lambda.Context, callback: lambda.Callback) =\u003e {\n  const response = {\n    statusCode: 200,\n    body: JSON.stringify({\n      message: \"TypeScript Test\",\n      input: event,\n    }),\n  };\n\n  const error = new Error(\"TypeScript Error Test\");\n\n  const lambdaLogger = LambdaLoggerFactory.create(\n    LogLevel.DEBUG,\n    extractSlackTokenFromEnv(),\n    extractSlackChannelFromEnv()\n  );\n\n  await lambdaLogger.error(error, true);\n  await lambdaLogger.debug(context, true);\n\n  callback(undefined, response);\n};\n\n/**\n * @return {string}\n */\nconst extractSlackTokenFromEnv = (): string =\u003e {\n  const slackToken = process.env.AWS_LAMBDA_NODE_LOGGER_SLACK_TOKEN;\n  if (typeof slackToken === \"string\") {\n    return slackToken;\n  }\n\n  return \"\";\n};\n\n/**\n * @return {string}\n */\nconst extractSlackChannelFromEnv = (): string =\u003e {\n  const slackChannel = process.env.AWS_LAMBDA_NODE_LOGGER_SLACK_CHANNEL;\n  if (typeof slackChannel === \"string\") {\n    return slackChannel;\n  }\n\n  return \"\";\n};\n```\n\nThis code is output as follows.\n\n```\nSTART RequestId: 1e46b449-6571-11e8-8af3-e7d42a6dbde1 Version: $LATEST\n2018-06-01 16:55:14.864 (+09:00)\t1e46b449-6571-11e8-8af3-e7d42a6dbde1\tERROR\n Error: TypeScript Error Test\n    at exports.tsTest (/var/task/src/handler.ts:16:17)\n    at invoke (/var/runtime/node_modules/awslambda/index.js:286:20)\n    at InvokeManager.start (/var/runtime/node_modules/awslambda/index.js:151:9)\n2018-06-01 16:55:14.864 (+09:00)\t1e46b449-6571-11e8-8af3-e7d42a6dbde1\tDEBUG\n { callbackWaitsForEmptyEventLoop: [Getter/Setter],\n  done: [Function: done],\n  succeed: [Function: succeed],\n  fail: [Function: fail],\n  logGroupName: '/aws/lambda/aws-lambda-node-logger-test-dev-tsTest',\n  logStreamName: '2018/06/01/[$LATEST]66e583f2888346038abb3c08df758232',\n  functionName: 'aws-lambda-node-logger-test-dev-tsTest',\n  memoryLimitInMB: '1024',\n  functionVersion: '$LATEST',\n  getRemainingTimeInMillis: [Function: getRemainingTimeInMillis],\n  invokeid: '1e46b449-6571-11e8-8af3-e7d42a6dbde1',\n  awsRequestId: '1e46b449-6571-11e8-8af3-e7d42a6dbde1',\n  invokedFunctionArn: 'arn:aws:lambda:ap-northeast-1:999999999999:function:aws-lambda-node-logger-test-dev-tsTest' }\nEND RequestId: 1e46b449-6571-11e8-8af3-e7d42a6dbde1\nREPORT RequestId: 1e46b449-6571-11e8-8af3-e7d42a6dbde1\tDuration: 0.94 ms\tBilled Duration: 100 ms \tMemory Size: 1024 MB\tMax Memory Used: 22 MB\n```\n\n### Use With JavaScript\n\n```javascript\n\"use strict\";\n\nconst awsLambdaNodeLogger = require(\"@nekonomokochan/aws-lambda-node-logger\");\n\nmodule.exports.jsTest = async (event, context, callback) =\u003e {\n  const response = {\n    statusCode: 200,\n    body: JSON.stringify({\n      message: \"JavaScript Test\",\n      input: event,\n    }),\n  };\n\n  const error = new Error(\"JavaScript Error Test\");\n\n  const lambdaLogger = awsLambdaNodeLogger.LambdaLoggerFactory.create(\n    awsLambdaNodeLogger.LogLevel.DEBUG,\n    extractSlackTokenFromEnv(),\n    extractSlackChannelFromEnv()\n  );\n\n  await lambdaLogger.debug(response, true);\n  await lambdaLogger.error(error, true);\n\n  callback(null, response);\n};\n\n/**\n * @return {string}\n */\nconst extractSlackTokenFromEnv = () =\u003e {\n  const slackToken = process.env.AWS_LAMBDA_NODE_LOGGER_SLACK_TOKEN;\n  if (typeof slackToken === \"string\") {\n    return slackToken;\n  }\n\n  return \"\";\n};\n\n/**\n * @return {string}\n */\nconst extractSlackChannelFromEnv = () =\u003e {\n  const slackChannel = process.env.AWS_LAMBDA_NODE_LOGGER_SLACK_CHANNEL;\n  if (typeof slackChannel === \"string\") {\n    return slackChannel;\n  }\n\n  return \"\";\n};\n```\n\noutput is the same as TypeScript.\n\n## License\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnekonomokochan%2Faws-lambda-node-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnekonomokochan%2Faws-lambda-node-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnekonomokochan%2Faws-lambda-node-logger/lists"}