mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
feat(server): add LogFormat enum and configuration
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import { Transform, Type } from 'class-transformer';
|
import { Transform, Type } from 'class-transformer';
|
||||||
import { IsEnum, IsInt, IsString, Matches } from 'class-validator';
|
import { IsEnum, IsInt, IsString, Matches } from 'class-validator';
|
||||||
import { DatabaseSslMode, ImmichEnvironment, LogLevel } from 'src/enum';
|
import { DatabaseSslMode, ImmichEnvironment, LogFormat, LogLevel } from 'src/enum';
|
||||||
import { IsIPRange, Optional, ValidateBoolean } from 'src/validation';
|
import { IsIPRange, Optional, ValidateBoolean } from 'src/validation';
|
||||||
|
|
||||||
export class EnvDto {
|
export class EnvDto {
|
||||||
@@ -48,6 +48,10 @@ export class EnvDto {
|
|||||||
@Optional()
|
@Optional()
|
||||||
IMMICH_LOG_LEVEL?: LogLevel;
|
IMMICH_LOG_LEVEL?: LogLevel;
|
||||||
|
|
||||||
|
@IsEnum(LogFormat)
|
||||||
|
@Optional()
|
||||||
|
IMMICH_LOG_FORMAT?: LogFormat;
|
||||||
|
|
||||||
@Optional()
|
@Optional()
|
||||||
@Matches(/^\//, { message: 'IMMICH_MEDIA_LOCATION must be an absolute path' })
|
@Matches(/^\//, { message: 'IMMICH_MEDIA_LOCATION must be an absolute path' })
|
||||||
IMMICH_MEDIA_LOCATION?: string;
|
IMMICH_MEDIA_LOCATION?: string;
|
||||||
|
|||||||
@@ -454,6 +454,11 @@ export enum LogLevel {
|
|||||||
Fatal = 'fatal',
|
Fatal = 'fatal',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum LogFormat {
|
||||||
|
Console = 'console',
|
||||||
|
Json = 'json',
|
||||||
|
}
|
||||||
|
|
||||||
export enum ApiCustomExtension {
|
export enum ApiCustomExtension {
|
||||||
Permission = 'x-immich-permission',
|
Permission = 'x-immich-permission',
|
||||||
AdminOnly = 'x-immich-admin-only',
|
AdminOnly = 'x-immich-admin-only',
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import {
|
|||||||
ImmichHeader,
|
ImmichHeader,
|
||||||
ImmichTelemetry,
|
ImmichTelemetry,
|
||||||
ImmichWorker,
|
ImmichWorker,
|
||||||
|
LogFormat,
|
||||||
LogLevel,
|
LogLevel,
|
||||||
QueueName,
|
QueueName,
|
||||||
} from 'src/enum';
|
} from 'src/enum';
|
||||||
@@ -29,6 +30,7 @@ export interface EnvData {
|
|||||||
environment: ImmichEnvironment;
|
environment: ImmichEnvironment;
|
||||||
configFile?: string;
|
configFile?: string;
|
||||||
logLevel?: LogLevel;
|
logLevel?: LogLevel;
|
||||||
|
logFormat: LogFormat;
|
||||||
|
|
||||||
buildMetadata: {
|
buildMetadata: {
|
||||||
build?: string;
|
build?: string;
|
||||||
@@ -227,6 +229,7 @@ const getEnv = (): EnvData => {
|
|||||||
environment,
|
environment,
|
||||||
configFile: dto.IMMICH_CONFIG_FILE,
|
configFile: dto.IMMICH_CONFIG_FILE,
|
||||||
logLevel: dto.IMMICH_LOG_LEVEL,
|
logLevel: dto.IMMICH_LOG_LEVEL,
|
||||||
|
logFormat: dto.IMMICH_LOG_FORMAT || LogFormat.Console,
|
||||||
|
|
||||||
buildMetadata: {
|
buildMetadata: {
|
||||||
build: dto.IMMICH_BUILD,
|
build: dto.IMMICH_BUILD,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { DatabaseExtension, ImmichEnvironment, ImmichWorker } from 'src/enum';
|
import { DatabaseExtension, ImmichEnvironment, ImmichWorker, LogFormat } from 'src/enum';
|
||||||
import { ConfigRepository, EnvData } from 'src/repositories/config.repository';
|
import { ConfigRepository, EnvData } from 'src/repositories/config.repository';
|
||||||
import { RepositoryInterface } from 'src/types';
|
import { RepositoryInterface } from 'src/types';
|
||||||
import { Mocked, vitest } from 'vitest';
|
import { Mocked, vitest } from 'vitest';
|
||||||
@@ -6,6 +6,7 @@ import { Mocked, vitest } from 'vitest';
|
|||||||
const envData: EnvData = {
|
const envData: EnvData = {
|
||||||
port: 2283,
|
port: 2283,
|
||||||
environment: ImmichEnvironment.Production,
|
environment: ImmichEnvironment.Production,
|
||||||
|
logFormat: LogFormat.Console,
|
||||||
|
|
||||||
buildMetadata: {},
|
buildMetadata: {},
|
||||||
bull: {
|
bull: {
|
||||||
|
|||||||
Reference in New Issue
Block a user