feat: config refactoring #219
							
								
								
									
										13
									
								
								.env.example
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								.env.example
									
									
									
									
									
								
							@ -1,15 +1,4 @@
 | 
			
		||||
MONGODB_URL='mongodb://127.0.0.1:27017/openWF'
 | 
			
		||||
 | 
			
		||||
#DOCKER ONLY
 | 
			
		||||
# Docker may need a .env file for the following settings:
 | 
			
		||||
DATABASE_PORT=27017 
 | 
			
		||||
DATABASE_USERNAME=root
 | 
			
		||||
DATABASE_PASSWORD=database
 | 
			
		||||
#DOCKER ONLY END
 | 
			
		||||
 | 
			
		||||
# save logs to file
 | 
			
		||||
LOG_FILES=true
 | 
			
		||||
#possible log levels: { fatal: 0, error: 1, warn: 2, info: 3, http: 4, debug: 5, trace: 6 }
 | 
			
		||||
LOG_LEVEL=trace
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,10 @@
 | 
			
		||||
{
 | 
			
		||||
  "mongodbUrl": "mongodb://127.0.0.1:27017/openWF",
 | 
			
		||||
  "logger": {
 | 
			
		||||
    "files": true,
 | 
			
		||||
    "level": "trace",
 | 
			
		||||
    "__valid_levels": "fatal, error, warn, info, http, debug, trace"
 | 
			
		||||
  },
 | 
			
		||||
  "myAddress": "localhost",
 | 
			
		||||
  "autoCreateAccount": true,
 | 
			
		||||
  "skipStoryModeChoice": true,
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										12
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -10,7 +10,6 @@
 | 
			
		||||
      "license": "GNU",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "copyfiles": "^2.4.1",
 | 
			
		||||
        "dotenv": "^16.1.3",
 | 
			
		||||
        "express": "^5.0.0-beta.3",
 | 
			
		||||
        "mongoose": "^8.1.1",
 | 
			
		||||
        "warframe-items": "^1.1261.19",
 | 
			
		||||
@ -1493,17 +1492,6 @@
 | 
			
		||||
        "node": ">=6.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/dotenv": {
 | 
			
		||||
      "version": "16.1.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.3.tgz",
 | 
			
		||||
      "integrity": "sha512-FYssxsmCTtKL72fGBSvb1K9dRz0/VZeWqFme/vSb7r7323x4CRaHu4LvQ5JG3+s6yt2YPbBrkpiEODktfyjI9A==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "url": "https://github.com/motdotla/dotenv?sponsor=1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/dynamic-dedupe": {
 | 
			
		||||
      "version": "0.3.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz",
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,6 @@
 | 
			
		||||
  "license": "GNU",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "copyfiles": "^2.4.1",
 | 
			
		||||
    "dotenv": "^16.1.3",
 | 
			
		||||
    "express": "^5.0.0-beta.3",
 | 
			
		||||
    "mongoose": "^8.1.1",
 | 
			
		||||
    "warframe-items": "^1.1261.19",
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,8 @@
 | 
			
		||||
import { logger } from "@/src/utils/logger";
 | 
			
		||||
import * as dotenv from "dotenv";
 | 
			
		||||
import config from "@/config.json";
 | 
			
		||||
import mongoose from "mongoose";
 | 
			
		||||
 | 
			
		||||
dotenv.config();
 | 
			
		||||
 | 
			
		||||
const url = process.env.MONGODB_URL;
 | 
			
		||||
const url = config.mongodbUrl;
 | 
			
		||||
 | 
			
		||||
if (url === undefined) {
 | 
			
		||||
    throw new Error("MONGODB_URL not found. Make sure you have a .env file in the root of the project!");
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,9 @@
 | 
			
		||||
import { createLogger, format, transports, Logger, LeveledLogMethod, addColors } from "winston";
 | 
			
		||||
import "winston-daily-rotate-file";
 | 
			
		||||
import * as dotenv from "dotenv";
 | 
			
		||||
import config from "@/config.json";
 | 
			
		||||
import * as util from "util";
 | 
			
		||||
import { isEmptyObject } from "@/src/helpers/general";
 | 
			
		||||
 | 
			
		||||
dotenv.config();
 | 
			
		||||
 | 
			
		||||
// const combineMessageAndSplat = () => {
 | 
			
		||||
//     return {
 | 
			
		||||
//         transform: (info: any, _opts: any) => {
 | 
			
		||||
@ -72,7 +70,7 @@ const consoleLog = new transports.Console({
 | 
			
		||||
    )
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const transportOptions = process.env.LOG_FILES === "true" ? [consoleLog, errorLog, combinedLog] : [consoleLog];
 | 
			
		||||
const transportOptions = config.logger.files ? [consoleLog, errorLog, combinedLog] : [consoleLog];
 | 
			
		||||
 | 
			
		||||
//possible log levels: { fatal: 0, error: 1, warn: 2, info: 3, http: 4, debug: 5, trace: 6 },
 | 
			
		||||
const logLevels = {
 | 
			
		||||
@ -98,7 +96,7 @@ const logLevels = {
 | 
			
		||||
 | 
			
		||||
export const logger = createLogger({
 | 
			
		||||
    levels: logLevels.levels,
 | 
			
		||||
    level: process.env.LOG_LEVEL,
 | 
			
		||||
    level: config.logger.level,
 | 
			
		||||
    defaultMeta: { version: process.env.npm_package_version },
 | 
			
		||||
    transports: transportOptions
 | 
			
		||||
}) as Logger & Record<keyof typeof logLevels.levels, LeveledLogMethod>;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user