From f457a86bde61635133d809146f15e44d2681d889 Mon Sep 17 00:00:00 2001 From: Guillaume Dorce Date: Thu, 10 Oct 2024 23:44:33 +0200 Subject: [PATCH] add logging --- index.js | 9 +++++++++ package.json | 4 +++- pnpm-lock.yaml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index ed46b81..0caf710 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,8 @@ import express from "express"; import dotenv from "dotenv"; import path from "path"; +import morgan from "morgan"; +import { createStream } from "rotating-file-stream"; const usernames = [ {name: "rubylium__", status: "off", id: ""}, @@ -23,6 +25,13 @@ dotenv.config(); const app = express(); +const accessLogStream = createStream("access.log", { + interval: "1d", + path: path.join(path.resolve(), "log"), +}); + +app.use(morgan("combined", { stream: accessLogStream })); + const port = process.env.PORT || 3000; let token = ""; diff --git a/package.json b/package.json index af077a1..9943d7a 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,8 @@ "license": "ISC", "dependencies": { "dotenv": "^16.4.5", - "express": "^4.21.1" + "express": "^4.21.1", + "morgan": "^1.10.0", + "rotating-file-stream": "^3.2.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82843e4..ec3a136 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,12 @@ dependencies: express: specifier: ^4.21.1 version: 4.21.1 + morgan: + specifier: ^1.10.0 + version: 1.10.0 + rotating-file-stream: + specifier: ^3.2.5 + version: 3.2.5 packages: @@ -26,6 +32,13 @@ packages: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: false + /basic-auth@2.0.1: + resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} + engines: {node: '>= 0.8'} + dependencies: + safe-buffer: 5.1.2 + dev: false + /body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -320,6 +333,19 @@ packages: hasBin: true dev: false + /morgan@1.10.0: + resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} + engines: {node: '>= 0.8.0'} + dependencies: + basic-auth: 2.0.1 + debug: 2.6.9 + depd: 2.0.0 + on-finished: 2.3.0 + on-headers: 1.0.2 + transitivePeerDependencies: + - supports-color + dev: false + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: false @@ -338,6 +364,13 @@ packages: engines: {node: '>= 0.4'} dev: false + /on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: false + /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -345,6 +378,11 @@ packages: ee-first: 1.1.1 dev: false + /on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: false + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -384,6 +422,15 @@ packages: unpipe: 1.0.0 dev: false + /rotating-file-stream@3.2.5: + resolution: {integrity: sha512-T8iBxUA4SookMTU97cIHUPck7beLOvN4g+y4db9E2eLn54OFsdp4qMnxuqmmJ05lcQHzueEVnPRykxfnPG948g==} + engines: {node: '>=14.0'} + dev: false + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: false + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false