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:
2025-11-25 04:38:26 +00:00
parent 8ebd677478
commit c59d56e70a
9 changed files with 159 additions and 149 deletions

View File

@@ -7,6 +7,7 @@
import * as plugins from '../plugins.ts';
import type { IService, IContainerStats } from '../types.ts';
import { logger } from '../logging.ts';
import { getErrorMessage } from '../utils/error.ts';
export class OneboxDockerManager {
private dockerClient: plugins.docker.Docker | null = null;
@@ -30,7 +31,7 @@ export class OneboxDockerManager {
// Ensure onebox network exists
await this.ensureNetwork();
} catch (error) {
logger.error(`Failed to initialize Docker client: ${error.message}`);
logger.error(`Failed to initialize Docker client: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -68,7 +69,7 @@ export class OneboxDockerManager {
logger.debug(`Docker network already exists: ${this.networkName}`);
}
} catch (error) {
logger.error(`Failed to create Docker network: ${error.message}`);
logger.error(`Failed to create Docker network: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -102,7 +103,7 @@ export class OneboxDockerManager {
return await this.createStandaloneContainer(service);
}
} catch (error) {
logger.error(`Failed to create container for ${service.name}: ${error.message}`);
logger.error(`Failed to create container for ${service.name}: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -257,11 +258,11 @@ export class OneboxDockerManager {
logger.success(`Container started: ${containerID}`);
} catch (error) {
// Ignore "already started" errors (304 status)
if (error.message.includes('304')) {
if (getErrorMessage(error).includes('304')) {
logger.debug(`Container already running: ${containerID}`);
return;
}
logger.error(`Failed to start container ${containerID}: ${error.message}`);
logger.error(`Failed to start container ${containerID}: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -331,11 +332,11 @@ export class OneboxDockerManager {
logger.success(`Container stopped: ${containerID}`);
} catch (error) {
// Ignore "already stopped" errors (304 status)
if (error.message.includes('304')) {
if (getErrorMessage(error).includes('304')) {
logger.debug(`Container already stopped: ${containerID}`);
return;
}
logger.error(`Failed to stop container ${containerID}: ${error.message}`);
logger.error(`Failed to stop container ${containerID}: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -392,7 +393,7 @@ export class OneboxDockerManager {
logger.success(`Container restarted: ${containerID}`);
} catch (error) {
logger.error(`Failed to restart container ${containerID}: ${error.message}`);
logger.error(`Failed to restart container ${containerID}: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -446,7 +447,7 @@ export class OneboxDockerManager {
await this.stopContainer(containerID);
} catch (error) {
// Ignore stop errors
logger.debug(`Error stopping container before removal: ${error.message}`);
logger.debug(`Error stopping container before removal: ${getErrorMessage(error)}`);
}
}
@@ -459,7 +460,7 @@ export class OneboxDockerManager {
logger.success(`Container removed: ${containerID}`);
} catch (error) {
logger.error(`Failed to remove container ${containerID}: ${error.message}`);
logger.error(`Failed to remove container ${containerID}: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -497,7 +498,7 @@ export class OneboxDockerManager {
return response.body.State?.Status || 'unknown';
} catch (error) {
logger.error(`Failed to get container status ${containerID}: ${error.message}`);
logger.error(`Failed to get container status ${containerID}: ${getErrorMessage(error)}`);
return 'unknown';
}
}
@@ -566,7 +567,7 @@ export class OneboxDockerManager {
return 'unknown';
}
} catch (error) {
logger.error(`Failed to get service status ${serviceID}: ${error.message}`);
logger.error(`Failed to get service status ${serviceID}: ${getErrorMessage(error)}`);
return 'unknown';
}
}
@@ -624,8 +625,9 @@ export class OneboxDockerManager {
};
} catch (error) {
// Don't log errors for container not found - this is expected for Swarm services
if (!error.message.includes('No such container') && !error.message.includes('not found')) {
logger.error(`Failed to get container stats ${containerID}: ${error.message}`);
const errMsg = getErrorMessage(error);
if (!errMsg.includes('No such container') && !errMsg.includes('not found')) {
logger.error(`Failed to get container stats ${containerID}: ${errMsg}`);
}
return null;
}
@@ -653,7 +655,7 @@ export class OneboxDockerManager {
return null;
} catch (error) {
logger.warn(`Failed to get container ID for service ${serviceId}: ${error.message}`);
logger.warn(`Failed to get container ID for service ${serviceId}: ${getErrorMessage(error)}`);
return null;
}
}
@@ -707,7 +709,7 @@ export class OneboxDockerManager {
stderr: '', // v5 combines stdout/stderr into single string
};
} catch (error) {
logger.error(`Failed to get container logs ${containerID}: ${error.message}`);
logger.error(`Failed to get container logs ${containerID}: ${getErrorMessage(error)}`);
return { stdout: '', stderr: '' };
}
}
@@ -723,7 +725,7 @@ export class OneboxDockerManager {
c.Labels && c.Labels['managed-by'] === 'onebox'
);
} catch (error) {
logger.error(`Failed to list containers: ${error.message}`);
logger.error(`Failed to list containers: ${getErrorMessage(error)}`);
return [];
}
}
@@ -763,7 +765,7 @@ export class OneboxDockerManager {
await this.dockerClient!.pruneImages();
logger.success('Unused images pruned successfully');
} catch (error) {
logger.error(`Failed to prune images: ${error.message}`);
logger.error(`Failed to prune images: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -788,7 +790,7 @@ export class OneboxDockerManager {
return null;
} catch (error) {
logger.error(`Failed to get container IP ${containerID}: ${error.message}`);
logger.error(`Failed to get container IP ${containerID}: ${getErrorMessage(error)}`);
return null;
}
}
@@ -837,7 +839,7 @@ export class OneboxDockerManager {
return { stdout, stderr, exitCode };
} catch (error) {
logger.error(`Failed to exec in container ${containerID}: ${error.message}`);
logger.error(`Failed to exec in container ${containerID}: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -922,7 +924,7 @@ export class OneboxDockerManager {
logger.success(`Platform container ${options.name} started successfully`);
return containerID;
} catch (error) {
logger.error(`Failed to create platform container ${options.name}: ${error.message}`);
logger.error(`Failed to create platform container ${options.name}: ${getErrorMessage(error)}`);
throw error;
}
}