com.networknt.aws.lambda.handler.logger.LoggerSetHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lambda-native Show documentation
Show all versions of lambda-native Show documentation
A middleware Lambda function that handles all the cross-cutting concerns for the downstream Lambda function.
The newest version!
package com.networknt.aws.lambda.handler.logger;
import ch.qos.logback.classic.Level;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
import com.networknt.aws.lambda.handler.LambdaHandler;
import com.networknt.aws.lambda.LightLambdaExchange;
import com.networknt.config.Config;
import com.networknt.config.JsonMapper;
import com.networknt.logging.model.LoggerConfig;
import com.networknt.status.Status;
import com.networknt.utility.ModuleRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
public class LoggerSetHandler implements LambdaHandler {
static final Logger logger = LoggerFactory.getLogger(LoggerGetHandler.class);
static final String HANDLER_IS_DISABLED = "ERR10065";
static final String REQUEST_BODY_MISSING = "ERR10059";
static LoggerConfig config;
public LoggerSetHandler() {
if(logger.isInfoEnabled()) logger.info("LoggerSetHandler is constructed");
config = LoggerConfig.load();
}
@Override
public Status execute(LightLambdaExchange exchange) {
if (logger.isTraceEnabled()) logger.trace("LoggerSetHandler.handleRequest starts.");
Map headers = Map.of("Content-Type", "application/json");
if (config.isEnabled()) {
// get the body from the request event
String body = exchange.getRequest().getBody();
if(body.isEmpty()) {
return new Status(REQUEST_BODY_MISSING);
} else {
// parse the body to get the loggers
List © 2015 - 2025 Weber Informatics LLC | Privacy Policy