Skip to content
This repository has been archived by the owner on Mar 3, 2024. It is now read-only.

Commit

Permalink
Simplify logger (#27)
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewturner authored Sep 10, 2023
1 parent 1d2a401 commit ff6519b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 15 deletions.
25 changes: 11 additions & 14 deletions aws/legacy-lambda.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ const Factory = require('@matthewturner/smartheat-core/core/Factory');

const Alexa = require('ask-sdk-core');
const { version } = require('../package.json');
const logger = new Logger(process.env.LOG_LEVEL || Logger.DEBUG);

const controlService = (request, serviceType = ThermostatService, logger = new Logger(process.env.LOG_LEVEL || Logger.DEBUG)) => {
const controlService = (request, serviceType = ThermostatService) => {
logger.debug(`SmartHome Version: ${version}`);

const userId = request.userId || request.session.user.userId;
Expand All @@ -35,10 +36,7 @@ const controlService = (request, serviceType = ThermostatService, logger = new L
const factory = new Factory(logger);
const service = new serviceType(logger, context, factory, repository,
holdStrategy, setTemperatureStrategy);
return {
logger,
service
};
return service;
};

const createHoldStrategy = (logger, context) => {
Expand All @@ -55,7 +53,7 @@ const createRepository = (logger) => {
return new DefaultThermostatRepository(logger);
};

const say = (responseBuilder, output, logger) => {
const say = (responseBuilder, output) => {
const {
messages,
card
Expand All @@ -78,22 +76,19 @@ const say = (responseBuilder, output, logger) => {
.getResponse();
};

const report = (responseBuilder, message, logger) => {
const report = (responseBuilder, message) => {
responseBuilder.speak(message);
logger.error(message);
return responseBuilder.getResponse();
};

const reportOn = async (handlerInput, serviceType, action) => {
const {
logger,
service
} = controlService(handlerInput.requestEnvelope, serviceType);
const service = controlService(handlerInput.requestEnvelope, serviceType);
try {
const output = await action(service);
return say(handlerInput.responseBuilder, output, logger);
return say(handlerInput.responseBuilder, output);
} catch (e) {
return report(handlerInput.responseBuilder, e.message, logger);
return report(handlerInput.responseBuilder, e.message);
}
};

Expand Down Expand Up @@ -268,7 +263,7 @@ const ErrorHandler = {
return true;
},
handle(handlerInput, error) {
console.log(`Error handled: ${error.message}`);
logger.error(`Error handled: ${error.message}`);

return handlerInput.responseBuilder
.speak('Sorry, I don\'t understand your command. Please say it again.')
Expand All @@ -277,6 +272,8 @@ const ErrorHandler = {
}
};

exports.logger = logger;

exports.handler = Alexa.SkillBuilders.custom()
.addRequestHandlers(
LaunchRequestHandler,
Expand Down
3 changes: 2 additions & 1 deletion test/aws/legacy-lamdbaTests.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ const createTarget = () => {
process.env.HOLD_STRATEGY = 'default';
process.env.THERMOSTAT_REPOSITORY = 'default';
process.env.THERMOSTAT_TYPE = 'mock';
process.env.LOG_LEVEL = 'OFF';

lambda.logger.level = 'OFF';

return {
lambda: lambda,
Expand Down

0 comments on commit ff6519b

Please sign in to comment.