Refactor error logging to use getErrorMessage utility
- Updated multiple classes to replace direct error message access with getErrorMessage function for improved error handling and consistency. - Modified error logging in CertRequirementManager, CloudflareDomainSync, OneboxDnsManager, OneboxDockerManager, OneboxHttpServer, Onebox, OneboxRegistriesManager, and OneboxServicesManager. - Ensured that all error messages logged provide a standardized format and improved clarity.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
|
||||
import type { IService, IServiceDeployOptions, IPlatformRequirements } from '../types.ts';
|
||||
import { logger } from '../logging.ts';
|
||||
import { getErrorMessage } from '../utils/error.ts';
|
||||
import { OneboxDatabase } from './database.ts';
|
||||
import { OneboxDockerManager } from './docker.ts';
|
||||
import type { PlatformServicesManager } from './platform-services/index.ts';
|
||||
@@ -84,7 +85,7 @@ export class OneboxServicesManager {
|
||||
platformEnvVars = await platformServices.provisionForService(service);
|
||||
logger.success(`Platform resources provisioned for service '${options.name}'`);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to provision platform resources: ${error.message}`);
|
||||
logger.error(`Failed to provision platform resources: ${getErrorMessage(error)}`);
|
||||
// Clean up the service record on failure
|
||||
this.database.deleteService(service.id!);
|
||||
throw error;
|
||||
@@ -164,7 +165,7 @@ export class OneboxServicesManager {
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to create certificate requirement: ${error.message}`);
|
||||
logger.warn(`Failed to create certificate requirement: ${getErrorMessage(error)}`);
|
||||
}
|
||||
|
||||
// Configure DNS (if autoDNS is enabled)
|
||||
@@ -172,7 +173,7 @@ export class OneboxServicesManager {
|
||||
try {
|
||||
await this.oneboxRef.dns.addDNSRecord(options.domain);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to configure DNS for ${options.domain}: ${error.message}`);
|
||||
logger.warn(`Failed to configure DNS for ${options.domain}: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,7 +181,7 @@ export class OneboxServicesManager {
|
||||
try {
|
||||
await this.oneboxRef.reverseProxy.addRoute(service.id!, options.domain, options.port);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to configure reverse proxy for ${options.domain}: ${error.message}`);
|
||||
logger.warn(`Failed to configure reverse proxy for ${options.domain}: ${getErrorMessage(error)}`);
|
||||
}
|
||||
|
||||
// Configure SSL (if autoSSL is enabled)
|
||||
@@ -191,7 +192,7 @@ export class OneboxServicesManager {
|
||||
await this.oneboxRef.ssl.obtainCertificate(options.domain);
|
||||
await this.oneboxRef.reverseProxy.reloadCertificates();
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to obtain SSL certificate for ${options.domain}: ${error.message}`);
|
||||
logger.warn(`Failed to obtain SSL certificate for ${options.domain}: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -200,7 +201,7 @@ export class OneboxServicesManager {
|
||||
|
||||
return this.database.getServiceByName(options.name)!;
|
||||
} catch (error) {
|
||||
logger.error(`Failed to deploy service ${options.name}: ${error.message}`);
|
||||
logger.error(`Failed to deploy service ${options.name}: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -229,7 +230,7 @@ export class OneboxServicesManager {
|
||||
|
||||
logger.success(`Service started: ${name}`);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to start service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to start service ${name}: ${getErrorMessage(error)}`);
|
||||
this.database.updateService(
|
||||
this.database.getServiceByName(name)?.id!,
|
||||
{ status: 'failed' }
|
||||
@@ -262,7 +263,7 @@ export class OneboxServicesManager {
|
||||
|
||||
logger.success(`Service stopped: ${name}`);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to stop service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to stop service ${name}: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -289,7 +290,7 @@ export class OneboxServicesManager {
|
||||
|
||||
logger.success(`Service restarted: ${name}`);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to restart service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to restart service ${name}: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -311,7 +312,7 @@ export class OneboxServicesManager {
|
||||
try {
|
||||
await this.docker.removeContainer(service.containerID, true);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to remove container: ${error.message}`);
|
||||
logger.warn(`Failed to remove container: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -320,7 +321,7 @@ export class OneboxServicesManager {
|
||||
try {
|
||||
this.oneboxRef.reverseProxy.removeRoute(service.domain);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to remove reverse proxy route: ${error.message}`);
|
||||
logger.warn(`Failed to remove reverse proxy route: ${getErrorMessage(error)}`);
|
||||
}
|
||||
|
||||
// Note: We don't remove DNS records or SSL certs automatically
|
||||
@@ -335,7 +336,7 @@ export class OneboxServicesManager {
|
||||
await platformServices.cleanupForService(service.id!);
|
||||
logger.success(`Platform resources cleaned up for service '${name}'`);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to cleanup platform resources: ${error.message}`);
|
||||
logger.warn(`Failed to cleanup platform resources: ${getErrorMessage(error)}`);
|
||||
// Continue with service deletion even if cleanup fails
|
||||
}
|
||||
}
|
||||
@@ -345,7 +346,7 @@ export class OneboxServicesManager {
|
||||
|
||||
logger.success(`Service removed: ${name}`);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to remove service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to remove service ${name}: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -388,7 +389,7 @@ export class OneboxServicesManager {
|
||||
// v5 API returns combined stdout/stderr with proper formatting
|
||||
return logs.stdout;
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get logs for service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to get logs for service ${name}: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -412,7 +413,7 @@ export class OneboxServicesManager {
|
||||
|
||||
await this.docker.streamContainerLogs(service.containerID, callback);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to stream logs for service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to stream logs for service ${name}: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -434,7 +435,7 @@ export class OneboxServicesManager {
|
||||
const stats = await this.docker.getContainerStats(service.containerID);
|
||||
return stats;
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get metrics for service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to get metrics for service ${name}: ${getErrorMessage(error)}`);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -456,7 +457,7 @@ export class OneboxServicesManager {
|
||||
const platformServices = this.oneboxRef.platformServices as PlatformServicesManager;
|
||||
return await platformServices.getResourcesForService(service.id!);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get platform resources for service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to get platform resources for service ${name}: ${getErrorMessage(error)}`);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
@@ -478,7 +479,7 @@ export class OneboxServicesManager {
|
||||
const status = await this.docker.getContainerStatus(service.containerID);
|
||||
return status;
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get status for service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to get status for service ${name}: ${getErrorMessage(error)}`);
|
||||
return 'unknown';
|
||||
}
|
||||
}
|
||||
@@ -499,7 +500,7 @@ export class OneboxServicesManager {
|
||||
// Note: Requires container restart to take effect
|
||||
logger.info(`Environment variables updated for ${name}. Restart service to apply changes.`);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to update env vars for service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to update env vars for service ${name}: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -535,7 +536,7 @@ export class OneboxServicesManager {
|
||||
try {
|
||||
await this.docker.stopContainer(oldContainerID);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to stop container: ${error.message}`);
|
||||
logger.warn(`Failed to stop container: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -566,7 +567,7 @@ export class OneboxServicesManager {
|
||||
await this.docker.removeContainer(oldContainerID, true);
|
||||
logger.info(`Removed old container for ${name}`);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to remove old container: ${error.message}`);
|
||||
logger.warn(`Failed to remove old container: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -582,7 +583,7 @@ export class OneboxServicesManager {
|
||||
try {
|
||||
this.oneboxRef.reverseProxy.removeRoute(oldDomain);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to remove old reverse proxy route: ${error.message}`);
|
||||
logger.warn(`Failed to remove old reverse proxy route: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -595,7 +596,7 @@ export class OneboxServicesManager {
|
||||
updates.port || service.port
|
||||
);
|
||||
} catch (error) {
|
||||
logger.warn(`Failed to configure reverse proxy: ${error.message}`);
|
||||
logger.warn(`Failed to configure reverse proxy: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -614,7 +615,7 @@ export class OneboxServicesManager {
|
||||
|
||||
return this.database.getServiceByName(name)!;
|
||||
} catch (error) {
|
||||
logger.error(`Failed to update service ${name}: ${error.message}`);
|
||||
logger.error(`Failed to update service ${name}: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -653,7 +654,7 @@ export class OneboxServicesManager {
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
logger.debug(`Failed to sync status for service ${name}: ${error.message}`);
|
||||
logger.debug(`Failed to sync status for service ${name}: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -678,7 +679,7 @@ export class OneboxServicesManager {
|
||||
try {
|
||||
await this.checkForRegistryUpdates();
|
||||
} catch (error) {
|
||||
logger.error(`Auto-update check failed: ${error.message}`);
|
||||
logger.error(`Auto-update check failed: ${getErrorMessage(error)}`);
|
||||
}
|
||||
}, 30000);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user