app.js๋ฅผ ์ฌ๋ฌ ๋ฒ ์คํํ์์๋ ๋ถ๊ตฌํ๊ณ , ๋ก๊ทธ๊ฐ ๋จ ํ ๋ฒ๋ง ์ถ๋ ฅ๋จ
1. winston.js 2. app js ์
๋๋ค!/* winston๊ณผ winston-daily-rotate-file ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ๊ด๋ฆฌ ์์คํ
์ ์ค์ ํจ winston : ๋ก๊น
๋ฒ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ winston-daily-rotate-file: ๋ก๊ทธ ํ์ผ์ ์ผ๋ณ๋ก ์๋ ๋ถํ ํ๋ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํธ๋์คํฌํธ (๋ก๊ทธ ์ถ๋ ฅ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ ์ปดํฌ๋ํธ) */ const { createLogger, format, transports } = require("winston"); const winstonDaily = require("winston-daily-rotate-file"); // ๋ก๊ทธ ํ์ผ์ ์ ์ฅํ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ const logDir = "logs"; // ๋ก๊ทธ ๋ฉ์์ง์ ํฌ๋งท์ ์ ์, (timestamp, level, message) const logFormat = format.printf((info) => { return `${info.timestamp} ${info.level} : ${info.message}`; }); // ๋ก๊ฑฐ ์ธ์คํด์ค ์์ฑ const SocketLogger = createLogger({ format: format.combine( format.timestamp({ format: "YYYY-MM-DD HH:mm:ss", }), logFormat ), // ๋ก๊ทธ ์ถ๋ ฅ ๋์ ์ค์ , ํธ๋์คํฌํธ๋ค์ ๊ฐ์ฒด transports: [ new winstonDaily({ fileName: "socket.log-info.log", datePattern: "YYYY-MM-DD", dirname: logDir + "/socket", level: "info", }), new winstonDaily({ fileName: "socket.err.log", datePattern: "YYYY-MM-DD", dirname: logDir + "/socket", level: "error", }), ], }); SocketLogger.add( new transports.Console({ format: format.combine(format.colorize(), format.simple()), }) ); module.exports = {SocketLogger};// Express, HTTP, WebSocket, (CORS (cross_origin resource_sharing):๊ต์ฐจ ์ถ์ฒ ๋ฆฌ์์ค ๊ณต์ )๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์ด ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์ // const express = require("express"); // ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ ๋น ๋ฅด๊ณ ๊ฐ๋ฐฉ์ ์ธ ์น ํ๋ ์์ํฌ const http = require("http"); // ์๋ฒ ์์ฑ ๋ฐ HTTP ์์ฒญ ๊ด๋ฆฌ์ ์ฌ์ฉ const cors = require("cors"); // ๋ค๋ฅธ ๋๋ฉ์ธ์์ ์คํ ์ค์ธ ์น ํ์ด์ง๊ฐ ํ์ฌ ์น ํ์ด์ง์ ์ํธ ์์ฉํ ์ ์๊ฒ ํจ const WebSocket = require("ws"); // ์ค์๊ฐ ์๋ฐฉํฅ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ WebSocket ๋ผ์ด๋ธ๋ฌ๋ฆฌ const { SocketLogger } = require("./logs/winston"); // const app = express(); // app.use( // cors({ // origin:"*", // }) // ) // app.use(express.json()); // app.use(express.urlencoded({extended: false})); const server = http.createServer(); const wss = new WebSocket.Server({server}); const PORT = process.env.PORT || 8080; server.listen(PORT, () => { SocketLogger.info(`Server Started on port = ${PORT}`); })