mirror of
https://github.com/immich-app/immich.git
synced 2024-12-26 10:50:29 +02:00
refactor: logging (#1318)
This commit is contained in:
parent
92ca447f33
commit
ba04b753de
@ -10,11 +10,14 @@ import { SERVER_VERSION } from './constants/server_version.constant';
|
||||
import { RedisIoAdapter } from './middlewares/redis-io.adapter.middleware';
|
||||
import { json } from 'body-parser';
|
||||
import { patchOpenAPI } from './utils/patch-open-api.util';
|
||||
import { getLogLevels } from '@app/common';
|
||||
|
||||
const logger = new Logger('ImmichServer');
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create<NestExpressApplication>(AppModule);
|
||||
const app = await NestFactory.create<NestExpressApplication>(AppModule, {
|
||||
logger: getLogLevels(),
|
||||
});
|
||||
|
||||
app.set('trust proxy');
|
||||
app.set('etag', 'strong');
|
||||
|
@ -1,13 +1,16 @@
|
||||
import { Logger } from '@nestjs/common';
|
||||
import { NestFactory } from '@nestjs/core';
|
||||
import { SERVER_VERSION } from 'apps/immich/src/constants/server_version.constant';
|
||||
import { getLogLevels } from '@app/common';
|
||||
import { RedisIoAdapter } from '../../immich/src/middlewares/redis-io.adapter.middleware';
|
||||
import { MicroservicesModule } from './microservices.module';
|
||||
|
||||
const logger = new Logger('ImmichMicroservice');
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create(MicroservicesModule);
|
||||
const app = await NestFactory.create(MicroservicesModule, {
|
||||
logger: getLogLevels(),
|
||||
});
|
||||
|
||||
const redisIoAdapter = new RedisIoAdapter(app);
|
||||
await redisIoAdapter.connectToRedis();
|
||||
|
@ -1,4 +1,3 @@
|
||||
import { ImmichLogLevel } from '@app/common/constants/log-level.constant';
|
||||
import { AssetEntity, ExifEntity } from '@app/infra';
|
||||
import {
|
||||
IExifExtractionProcessor,
|
||||
@ -76,8 +75,8 @@ export type GeoData = {
|
||||
|
||||
@Processor(QueueNameEnum.METADATA_EXTRACTION)
|
||||
export class MetadataExtractionProcessor {
|
||||
private logger = new Logger(MetadataExtractionProcessor.name);
|
||||
private isGeocodeInitialized = false;
|
||||
private logLevel: ImmichLogLevel;
|
||||
|
||||
constructor(
|
||||
@InjectRepository(AssetEntity)
|
||||
@ -86,10 +85,10 @@ export class MetadataExtractionProcessor {
|
||||
@InjectRepository(ExifEntity)
|
||||
private exifRepository: Repository<ExifEntity>,
|
||||
|
||||
private configService: ConfigService,
|
||||
configService: ConfigService,
|
||||
) {
|
||||
if (!configService.get('DISABLE_REVERSE_GEOCODING')) {
|
||||
Logger.log('Initialising Reverse Geocoding');
|
||||
this.logger.log('Initializing Reverse Geocoding');
|
||||
geocoderInit({
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
@ -108,8 +107,6 @@ export class MetadataExtractionProcessor {
|
||||
Logger.log('Reverse Geocoding Initialised');
|
||||
});
|
||||
}
|
||||
|
||||
this.logLevel = this.configService.get('LOG_LEVEL') || ImmichLogLevel.SIMPLE;
|
||||
}
|
||||
|
||||
private async reverseGeocodeExif(
|
||||
@ -260,12 +257,8 @@ export class MetadataExtractionProcessor {
|
||||
}
|
||||
|
||||
await this.exifRepository.save(newExif);
|
||||
} catch (e) {
|
||||
Logger.error(`Error extracting EXIF ${String(e)}`, 'extractExif');
|
||||
|
||||
if (this.logLevel === ImmichLogLevel.VERBOSE) {
|
||||
console.trace('Error extracting EXIF', e);
|
||||
}
|
||||
} catch (error: any) {
|
||||
this.logger.error(`Error extracting EXIF ${error}`, error?.stack);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,6 @@ export const immichAppConfig: ConfigModuleOptions = {
|
||||
JWT_SECRET: Joi.string().required().custom(jwtSecretValidator),
|
||||
DISABLE_REVERSE_GEOCODING: Joi.boolean().optional().valid(true, false).default(false),
|
||||
REVERSE_GEOCODING_PRECISION: Joi.number().optional().valid(0, 1, 2, 3).default(3),
|
||||
LOG_LEVEL: Joi.string().optional().valid('simple', 'verbose').default('simple'),
|
||||
LOG_LEVEL: Joi.string().optional().valid('simple', 'verbose', 'debug', 'log', 'warn', 'error').default('log'),
|
||||
}),
|
||||
};
|
||||
|
@ -1,4 +0,0 @@
|
||||
export enum ImmichLogLevel {
|
||||
SIMPLE = 'simple',
|
||||
VERBOSE = 'verbose',
|
||||
}
|
@ -1,3 +1,15 @@
|
||||
import { LogLevel } from '@nestjs/common';
|
||||
|
||||
export * from './time-utils';
|
||||
export * from './asset-utils';
|
||||
export * from './user-utils';
|
||||
|
||||
export function getLogLevels() {
|
||||
const LOG_LEVELS: LogLevel[] = ['verbose', 'debug', 'log', 'warn', 'error'];
|
||||
let logLevel = process.env.LOG_LEVEL || 'log';
|
||||
if (logLevel === 'simple') {
|
||||
logLevel = 'log';
|
||||
}
|
||||
const logLevelIndex = LOG_LEVELS.indexOf(logLevel as LogLevel);
|
||||
return logLevelIndex === -1 ? [] : LOG_LEVELS.slice(logLevelIndex);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user