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 * as plugins from '../plugins.ts';
|
||||
import { logger } from '../logging.ts';
|
||||
import { getErrorMessage } from '../utils/error.ts';
|
||||
import type { Onebox } from './onebox.ts';
|
||||
import type { IApiResponse, ICreateRegistryTokenRequest, IRegistryTokenView } from '../types.ts';
|
||||
|
||||
@@ -37,7 +38,7 @@ export class OneboxHttpServer {
|
||||
|
||||
logger.success(`HTTP server started on http://localhost:${this.port}`);
|
||||
} catch (error) {
|
||||
logger.error(`Failed to start HTTP server: ${error.message}`);
|
||||
logger.error(`Failed to start HTTP server: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -56,7 +57,7 @@ export class OneboxHttpServer {
|
||||
this.server = null;
|
||||
logger.success('HTTP server stopped');
|
||||
} catch (error) {
|
||||
logger.error(`Failed to stop HTTP server: ${error.message}`);
|
||||
logger.error(`Failed to stop HTTP server: ${getErrorMessage(error)}`);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@@ -95,8 +96,8 @@ export class OneboxHttpServer {
|
||||
// Serve Angular UI
|
||||
return await this.serveStaticFile(path);
|
||||
} catch (error) {
|
||||
logger.error(`Request error: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message }, 500);
|
||||
logger.error(`Request error: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -339,7 +340,7 @@ export class OneboxHttpServer {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Login error: ${error.message}`);
|
||||
logger.error(`Login error: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: 'Login failed' }, 500);
|
||||
}
|
||||
}
|
||||
@@ -349,8 +350,8 @@ export class OneboxHttpServer {
|
||||
const status = await this.oneboxRef.getSystemStatus();
|
||||
return this.jsonResponse({ success: true, data: status });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get system status: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to get system status' }, 500);
|
||||
logger.error(`Failed to get system status: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to get system status' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -359,8 +360,8 @@ export class OneboxHttpServer {
|
||||
const services = this.oneboxRef.services.listServices();
|
||||
return this.jsonResponse({ success: true, data: services });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to list services: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to list services' }, 500);
|
||||
logger.error(`Failed to list services: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to list services' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -374,8 +375,8 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, data: service });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to deploy service: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to deploy service' }, 500);
|
||||
logger.error(`Failed to deploy service: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to deploy service' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -387,8 +388,8 @@ export class OneboxHttpServer {
|
||||
}
|
||||
return this.jsonResponse({ success: true, data: service });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get service ${name}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to get service' }, 500);
|
||||
logger.error(`Failed to get service ${name}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to get service' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -417,8 +418,8 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, data: service });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to update service ${name}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to update service' }, 500);
|
||||
logger.error(`Failed to update service ${name}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to update service' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -431,8 +432,8 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, message: 'Service removed' });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to delete service ${name}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to delete service' }, 500);
|
||||
logger.error(`Failed to delete service ${name}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to delete service' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -445,8 +446,8 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, message: 'Service started' });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to start service ${name}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to start service' }, 500);
|
||||
logger.error(`Failed to start service ${name}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to start service' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -459,8 +460,8 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, message: 'Service stopped' });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to stop service ${name}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to stop service' }, 500);
|
||||
logger.error(`Failed to stop service ${name}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to stop service' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -473,8 +474,8 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, message: 'Service restarted' });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to restart service ${name}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to restart service' }, 500);
|
||||
logger.error(`Failed to restart service ${name}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to restart service' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,8 +486,8 @@ export class OneboxHttpServer {
|
||||
logger.log(`handleGetLogsRequest: logs value = ${String(logs).slice(0, 100)}`);
|
||||
return this.jsonResponse({ success: true, data: logs });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get logs for service ${name}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to get logs' }, 500);
|
||||
logger.error(`Failed to get logs for service ${name}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to get logs' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -540,7 +541,7 @@ export class OneboxHttpServer {
|
||||
message: 'Settings updated successfully'
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to update settings: ${error.message}`);
|
||||
logger.error(`Failed to update settings: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: 'Failed to update settings' }, 500);
|
||||
}
|
||||
}
|
||||
@@ -564,8 +565,8 @@ export class OneboxHttpServer {
|
||||
message: `Certificate obtained for ${domain}`,
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to obtain certificate: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to obtain certificate' }, 500);
|
||||
logger.error(`Failed to obtain certificate: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to obtain certificate' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -574,8 +575,8 @@ export class OneboxHttpServer {
|
||||
const certificates = this.oneboxRef.ssl.listCertificates();
|
||||
return this.jsonResponse({ success: true, data: certificates });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to list certificates: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to list certificates' }, 500);
|
||||
logger.error(`Failed to list certificates: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to list certificates' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -587,8 +588,8 @@ export class OneboxHttpServer {
|
||||
}
|
||||
return this.jsonResponse({ success: true, data: certificate });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get certificate for ${domain}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to get certificate' }, 500);
|
||||
logger.error(`Failed to get certificate for ${domain}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to get certificate' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -600,8 +601,8 @@ export class OneboxHttpServer {
|
||||
message: `Certificate renewed for ${domain}`,
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to renew certificate for ${domain}: ${error.message}`);
|
||||
return this.jsonResponse({ success: false, error: error.message || 'Failed to renew certificate' }, 500);
|
||||
logger.error(`Failed to renew certificate for ${domain}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({ success: false, error: getErrorMessage(error) || 'Failed to renew certificate' }, 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -661,10 +662,10 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, data: domainViews });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get domains: ${error.message}`);
|
||||
logger.error(`Failed to get domains: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to get domains',
|
||||
error: getErrorMessage(error) || 'Failed to get domains',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -685,10 +686,10 @@ export class OneboxHttpServer {
|
||||
message: 'Cloudflare zones synced successfully',
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to sync Cloudflare zones: ${error.message}`);
|
||||
logger.error(`Failed to sync Cloudflare zones: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to sync Cloudflare zones',
|
||||
error: getErrorMessage(error) || 'Failed to sync Cloudflare zones',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -737,10 +738,10 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, data: domainDetail });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get domain detail for ${domainName}: ${error.message}`);
|
||||
logger.error(`Failed to get domain detail for ${domainName}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to get domain detail',
|
||||
error: getErrorMessage(error) || 'Failed to get domain detail',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -750,10 +751,10 @@ export class OneboxHttpServer {
|
||||
const records = this.oneboxRef.dns.listDNSRecords();
|
||||
return this.jsonResponse({ success: true, data: records });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get DNS records: ${error.message}`);
|
||||
logger.error(`Failed to get DNS records: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to get DNS records',
|
||||
error: getErrorMessage(error) || 'Failed to get DNS records',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -777,10 +778,10 @@ export class OneboxHttpServer {
|
||||
message: `DNS record created for ${domain}`,
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to create DNS record: ${error.message}`);
|
||||
logger.error(`Failed to create DNS record: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to create DNS record',
|
||||
error: getErrorMessage(error) || 'Failed to create DNS record',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -794,10 +795,10 @@ export class OneboxHttpServer {
|
||||
message: `DNS record deleted for ${domain}`,
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to delete DNS record for ${domain}: ${error.message}`);
|
||||
logger.error(`Failed to delete DNS record for ${domain}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to delete DNS record',
|
||||
error: getErrorMessage(error) || 'Failed to delete DNS record',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -818,10 +819,10 @@ export class OneboxHttpServer {
|
||||
message: 'DNS records synced from Cloudflare',
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to sync DNS records: ${error.message}`);
|
||||
logger.error(`Failed to sync DNS records: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to sync DNS records',
|
||||
error: getErrorMessage(error) || 'Failed to sync DNS records',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -953,9 +954,9 @@ export class OneboxHttpServer {
|
||||
});
|
||||
|
||||
logStream.on('error', (error: Error) => {
|
||||
logger.error(`Log stream error for ${serviceName}: ${error.message}`);
|
||||
logger.error(`Log stream error for ${serviceName}: ${getErrorMessage(error)}`);
|
||||
if (socket.readyState === WebSocket.OPEN) {
|
||||
socket.send(JSON.stringify({ error: error.message }));
|
||||
socket.send(JSON.stringify({ error: getErrorMessage(error) }));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -971,9 +972,9 @@ export class OneboxHttpServer {
|
||||
};
|
||||
|
||||
} catch (error) {
|
||||
logger.error(`Failed to start log stream for ${serviceName}: ${error.message}`);
|
||||
logger.error(`Failed to start log stream for ${serviceName}: ${getErrorMessage(error)}`);
|
||||
if (socket.readyState === WebSocket.OPEN) {
|
||||
socket.send(JSON.stringify({ error: error.message }));
|
||||
socket.send(JSON.stringify({ error: getErrorMessage(error) }));
|
||||
socket.close();
|
||||
}
|
||||
}
|
||||
@@ -1004,7 +1005,7 @@ export class OneboxHttpServer {
|
||||
failCount++;
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error(`Failed to send to WebSocket client: ${error.message}`);
|
||||
logger.error(`Failed to send to WebSocket client: ${getErrorMessage(error)}`);
|
||||
this.wsClients.delete(client);
|
||||
failCount++;
|
||||
}
|
||||
@@ -1074,10 +1075,10 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, data: result });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to list platform services: ${error.message}`);
|
||||
logger.error(`Failed to list platform services: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to list platform services',
|
||||
error: getErrorMessage(error) || 'Failed to list platform services',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -1114,10 +1115,10 @@ export class OneboxHttpServer {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get platform service ${type}: ${error.message}`);
|
||||
logger.error(`Failed to get platform service ${type}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to get platform service',
|
||||
error: getErrorMessage(error) || 'Failed to get platform service',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -1145,10 +1146,10 @@ export class OneboxHttpServer {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to start platform service ${type}: ${error.message}`);
|
||||
logger.error(`Failed to start platform service ${type}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to start platform service',
|
||||
error: getErrorMessage(error) || 'Failed to start platform service',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -1171,10 +1172,10 @@ export class OneboxHttpServer {
|
||||
message: `Platform service ${provider.displayName} stopped`,
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to stop platform service ${type}: ${error.message}`);
|
||||
logger.error(`Failed to stop platform service ${type}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to stop platform service',
|
||||
error: getErrorMessage(error) || 'Failed to stop platform service',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -1220,10 +1221,10 @@ export class OneboxHttpServer {
|
||||
data: formattedResources,
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get platform resources for service ${serviceName}: ${error.message}`);
|
||||
logger.error(`Failed to get platform resources for service ${serviceName}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to get platform resources',
|
||||
error: getErrorMessage(error) || 'Failed to get platform resources',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -1235,10 +1236,10 @@ export class OneboxHttpServer {
|
||||
const tags = await this.oneboxRef.registry.getImageTags(serviceName);
|
||||
return this.jsonResponse({ success: true, data: tags });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to get registry tags for ${serviceName}: ${error.message}`);
|
||||
logger.error(`Failed to get registry tags for ${serviceName}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to get registry tags',
|
||||
error: getErrorMessage(error) || 'Failed to get registry tags',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -1282,10 +1283,10 @@ export class OneboxHttpServer {
|
||||
|
||||
return this.jsonResponse({ success: true, data: tokenViews });
|
||||
} catch (error) {
|
||||
logger.error(`Failed to list registry tokens: ${error.message}`);
|
||||
logger.error(`Failed to list registry tokens: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to list registry tokens',
|
||||
error: getErrorMessage(error) || 'Failed to list registry tokens',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -1412,10 +1413,10 @@ export class OneboxHttpServer {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to create registry token: ${error.message}`);
|
||||
logger.error(`Failed to create registry token: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to create registry token',
|
||||
error: getErrorMessage(error) || 'Failed to create registry token',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
@@ -1439,10 +1440,10 @@ export class OneboxHttpServer {
|
||||
message: 'Token deleted successfully',
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(`Failed to delete registry token ${tokenId}: ${error.message}`);
|
||||
logger.error(`Failed to delete registry token ${tokenId}: ${getErrorMessage(error)}`);
|
||||
return this.jsonResponse({
|
||||
success: false,
|
||||
error: error.message || 'Failed to delete registry token',
|
||||
error: getErrorMessage(error) || 'Failed to delete registry token',
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user