Skip to content

Commit b5151e9

Browse files
committed
feat: properly read log level from environment
1 parent 2b908f1 commit b5151e9

File tree

5 files changed

+26
-20
lines changed

5 files changed

+26
-20
lines changed

api/src/dotenv.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@ import { config } from 'dotenv';
22

33
const env =
44
process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test'
5-
? config({ debug: true, path: `./.env.${process.env.NODE_ENV}`, encoding: 'utf-8' })
5+
? config({
6+
debug: true,
7+
path: `./.env.${process.env.NODE_ENV}`,
8+
encoding: 'utf-8',
9+
override: true,
10+
})
611
: config({
712
path: '/usr/local/unraid-api/.env',
813
encoding: 'utf-8',
914
});
1015

11-
export default env;
16+
export default env;

api/src/environment.ts

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,32 @@ import { version } from 'package.json';
33
export const API_VERSION =
44
process.env.npm_package_version ?? version ?? new Error('API_VERSION not set');
55

6-
export const NODE_ENV = process.env.NODE_ENV as 'development' | 'test' | 'staging' | 'production' ?? 'production';
6+
export const NODE_ENV =
7+
(process.env.NODE_ENV as 'development' | 'test' | 'staging' | 'production') ?? 'production';
78
export const environment = {
89
IS_MAIN_PROCESS: false,
910
};
1011
export const CHOKIDAR_USEPOLLING = process.env.CHOKIDAR_USEPOLLING === 'true';
1112
export const IS_DOCKER = process.env.IS_DOCKER === 'true';
1213
export const DEBUG = process.env.DEBUG === 'true';
1314
export const INTROSPECTION = process.env.INTROSPECTION === 'true';
14-
export const ENVIRONMENT = process.env.ENVIRONMENT as 'production' | 'staging' | 'development' ?? 'production';
15+
export const ENVIRONMENT = process.env.ENVIRONMENT
16+
? (process.env.ENVIRONMENT as 'production' | 'staging' | 'development')
17+
: 'production';
1518
export const GRAPHQL_INTROSPECTION = Boolean(INTROSPECTION ?? DEBUG ?? ENVIRONMENT !== 'production');
1619
export const PORT = process.env.PORT ?? '/var/run/unraid-api.sock';
1720
export const DRY_RUN = process.env.DRY_RUN === 'true';
1821
export const BYPASS_PERMISSION_CHECKS = process.env.BYPASS_PERMISSION_CHECKS === 'true';
1922
export const BYPASS_CORS_CHECKS = process.env.BYPASS_CORS_CHECKS === 'true';
2023
export const LOG_CORS = process.env.LOG_CORS === 'true';
2124
export const LOG_TYPE = (process.env.LOG_TYPE as 'pretty' | 'raw') ?? 'pretty';
22-
export const LOG_LEVEL = process.env.LOG_LEVEL?.toUpperCase() as
23-
| 'TRACE'
24-
| 'DEBUG'
25-
| 'INFO'
26-
| 'WARN'
27-
| 'ERROR'
28-
| 'FATAL' ?? process.env.ENVIRONMENT === 'production' ? 'INFO' : 'TRACE';
29-
export const MOTHERSHIP_GRAPHQL_LINK =
30-
process.env.MOTHERSHIP_GRAPHQL_LINK ??
31-
(process.env.ENVIRONMENT === 'staging'
32-
? 'https://staging.mothership.unraid.net/ws'
33-
: 'https://mothership.unraid.net/ws');
25+
export const LOG_LEVEL = process.env.LOG_LEVEL
26+
? (process.env.LOG_LEVEL.toUpperCase() as 'TRACE' | 'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'FATAL')
27+
: process.env.ENVIRONMENT === 'production'
28+
? 'INFO'
29+
: 'TRACE';
30+
export const MOTHERSHIP_GRAPHQL_LINK = process.env.MOTHERSHIP_GRAPHQL_LINK
31+
? process.env.MOTHERSHIP_GRAPHQL_LINK
32+
: ENVIRONMENT === 'staging'
33+
? 'https://staging.mothership.unraid.net/ws'
34+
: 'https://mothership.unraid.net/ws';

api/src/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ import exitHook from 'exit-hook';
1313
import { WebSocket } from 'ws';
1414

1515
import { logger } from '@app/core/log';
16-
import { setupLogRotation } from '@app/core/logrotate/setup-logrotate';
17-
import { setupAuthRequest } from '@app/core/sso/auth-request-setup';
1816
import { fileExistsSync } from '@app/core/utils/files/file-exists';
1917
import { environment, PORT } from '@app/environment';
2018
import * as envVars from '@app/environment';

api/src/unraid-api/cli/log.service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ export class LogService {
1313

1414
shouldLog(level: LogLevel): boolean {
1515
const logLevelsLowToHigh = levels;
16-
return (
16+
const shouldLog = (
1717
logLevelsLowToHigh.indexOf(level) >=
1818
logLevelsLowToHigh.indexOf(LOG_LEVEL.toLowerCase() as LogLevel)
1919
);
20+
return shouldLog;
2021
}
2122

2223
log(message: string): void {

api/src/unraid-api/cli/start.command.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type { LogLevel } from '@app/core/log';
88
import { ECOSYSTEM_PATH, PM2_PATH } from '@app/consts';
99
import { levels } from '@app/core/log';
1010
import { LogService } from '@app/unraid-api/cli/log.service';
11+
import { LOG_LEVEL, NODE_ENV } from '@app/environment';
1112

1213
interface StartCommandOptions {
1314
'log-level'?: string;
@@ -21,6 +22,7 @@ export class StartCommand extends CommandRunner {
2122

2223
async configurePm2(): Promise<void> {
2324
if (existsSync('/tmp/pm2-configured')) {
25+
this.logger.debug('PM2 already configured');
2426
return;
2527
}
2628
// Write a temp file when first started to prevent needing to run this again
@@ -58,7 +60,6 @@ export class StartCommand extends CommandRunner {
5860

5961
async run(_: string[], options: StartCommandOptions): Promise<void> {
6062
this.logger.info('Starting the Unraid API');
61-
6263
await this.configurePm2();
6364

6465
const envLog = options['log-level'] ? `LOG_LEVEL=${options['log-level']}` : '';

0 commit comments

Comments
 (0)