auto commit

This commit is contained in:
bangdk 2024-11-18 21:01:46 +09:00
parent 675197902e
commit b74849b1e1
6 changed files with 9 additions and 67 deletions

View File

@ -1,7 +1,7 @@
// src/services/permission.service.js
const { Role, UserRole, User } = require("../models");
const redis = require("../config/redis");
const logger = require("../utils/logger");
const logger = require("./config/logger");
class PermissionService {
constructor() {

View File

@ -6,7 +6,8 @@ const MainBackendService = require("./services/mainBackend.service");
const MQTTService = require("./services/mqtt.service");
const SensorDataModel = require("./models/SensorData");
const createDataController = require("./controllers/data.controller");
const logger = require("./utils/logger");
// 다른 서비스나 컨트롤러 파일들
const logger = require("./config/logger");
const config = require("./config/config");
async function bootstrap() {

View File

@ -1,5 +1,5 @@
// fems-realtime-api/src/middleware/apiKey.middleware.js
const logger = require("../utils/logger");
const logger = require("./config/logger");
const apiKeyAuth = async (req, res, next) => {
const apiKey = req.header("X-API-Key");

View File

@ -1,6 +1,6 @@
// fems-realtime-api/src/services/mainBackend.service.js
const axios = require("axios");
const logger = require("../utils/logger");
const logger = require("./config/logger");
class MainBackendService {
constructor(redis, baseURL, adminApiKey) {
@ -16,21 +16,21 @@ class MainBackendService {
async checkSubscription(companyId) {
try {
// Redis에서 캐시된 구독 상태 확인
const cached = await this.redis.get(`subscription:${companyId}`);
const cached = await this.redis.get(`contracts:${companyId}`);
if (cached) {
return JSON.parse(cached);
}
// 메인 백엔드에서 구독 상태 조회
const response = await this.client.get(
`/api/v1/admin/subscription/companies/${companyId}/subscription/status`
`/api/v1/admin/contracts/companies/${companyId}/subscription/status`
);
const status = response.data;
// 구독 상태 캐싱 (1시간)
await this.redis.set(
`subscription:${companyId}`,
`contracts:${companyId}`,
JSON.stringify(status),
"EX",
3600

View File

@ -1,6 +1,6 @@
// fems-realtime-api/src/services/mqtt.service.js
const mqtt = require("mqtt");
const logger = require("../utils/logger");
const logger = require("./config/logger");
class MQTTService {
constructor(mainBackend, sensorData, redis, brokerUrl, options) {

View File

@ -1,59 +0,0 @@
// src/utils/logger.js
const winston = require("winston");
const { createLogger, format, transports } = winston;
const { combine, timestamp, printf, colorize } = format;
// 로그 포맷 정의
const logFormat = printf(({ level, message, timestamp, ...metadata }) => {
let msg = `${timestamp} [${level}] : ${message}`;
if (Object.keys(metadata).length > 0) {
msg += JSON.stringify(metadata);
}
return msg;
});
// 로거 생성
const logger = createLogger({
format: combine(timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), logFormat),
transports: [
// 콘솔 출력
new transports.Console({
format: combine(colorize(), logFormat),
}),
// 에러 로그 파일
new transports.File({
filename: "logs/error.log",
level: "error",
}),
// 전체 로그 파일
new transports.File({
filename: "logs/combined.log",
}),
],
});
// 감사 로그를 위한 별도 로거
const auditLogger = createLogger({
format: combine(
timestamp(),
printf(({ message, timestamp, ...metadata }) => {
return JSON.stringify({
timestamp,
...message,
...metadata,
});
})
),
transports: [
new transports.File({
filename: "logs/audit.log",
}),
],
});
module.exports = {
logger,
auditLogger,
};