public class org.apache.hive.http.Log4j2ConfiguratorServlet extends javax.servlet.http.HttpServlet
{
private static final long serialVersionUID;
private static final org.slf4j.Logger LOG;
private static final java.lang.String ACCESS_CONTROL_ALLOW_METHODS;
private static final java.lang.String ALLOWED_METHODS;
private static final java.lang.String ACCESS_CONTROL_ALLOW_ORIGIN;
private static final java.lang.String CONTENT_TYPE_JSON_UTF8;
private transient org.apache.logging.log4j.core.LoggerContext context;
private transient org.apache.logging.log4j.core.config.Configuration conf;
public void <init>()
{
org.apache.hive.http.Log4j2ConfiguratorServlet v;
v := @this: org.apache.hive.http.Log4j2ConfiguratorServlet;
specialinvoke v.<javax.servlet.http.HttpServlet: void <init>()>();
return;
}
public void init() throws javax.servlet.ServletException
{
org.apache.hive.http.Log4j2ConfiguratorServlet v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.spi.LoggerContext v;
org.apache.logging.log4j.core.config.Configuration v;
v := @this: org.apache.hive.http.Log4j2ConfiguratorServlet;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.spi.LoggerContext getContext(boolean)>(0);
v.<org.apache.hive.http.Log4j2ConfiguratorServlet: org.apache.logging.log4j.core.LoggerContext context> = v;
v = v.<org.apache.hive.http.Log4j2ConfiguratorServlet: org.apache.logging.log4j.core.LoggerContext context>;
v = virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: org.apache.logging.log4j.core.config.Configuration getConfiguration()>();
v.<org.apache.hive.http.Log4j2ConfiguratorServlet: org.apache.logging.log4j.core.config.Configuration conf> = v;
return;
}
public void doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws javax.servlet.ServletException, java.io.IOException
{
javax.servlet.http.HttpServletRequest v;
org.apache.hive.http.Log4j2ConfiguratorServlet v;
javax.servlet.http.HttpServletResponse v;
javax.servlet.ServletContext v;
boolean v;
v := @this: org.apache.hive.http.Log4j2ConfiguratorServlet;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = virtualinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet: javax.servlet.ServletContext getServletContext()>();
v = staticinvoke <org.apache.hive.http.HttpServer: boolean isInstrumentationAccessAllowed(javax.servlet.ServletContext,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v, v);
if v != 0 goto label;
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setStatus(int)>(401);
return;
label:
specialinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet: void setResponseHeader(javax.servlet.http.HttpServletResponse)>(v);
specialinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet: void listLoggers(javax.servlet.http.HttpServletResponse)>(v);
return;
}
private void setResponseHeader(javax.servlet.http.HttpServletResponse)
{
javax.servlet.http.HttpServletResponse v;
org.apache.hive.http.Log4j2ConfiguratorServlet v;
v := @this: org.apache.hive.http.Log4j2ConfiguratorServlet;
v := @parameter: javax.servlet.http.HttpServletResponse;
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setContentType(java.lang.String)>("application/json; charset=utf8");
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setHeader(java.lang.String,java.lang.String)>("Access-Control-Allow-Methods", "POST, GET");
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setHeader(java.lang.String,java.lang.String)>("Access-Control-Allow-Origin", "*");
return;
}
protected void doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws javax.servlet.ServletException, java.io.IOException
{
org.slf4j.Logger v;
com.fasterxml.jackson.databind.ObjectMapper v;
javax.servlet.http.HttpServletResponse v;
java.io.IOException v;
javax.servlet.http.HttpServletRequest v;
java.util.stream.Stream v;
org.apache.hive.http.Log4j2ConfiguratorServlet v;
java.lang.Object v, v;
javax.servlet.ServletContext v;
java.io.BufferedReader v;
java.util.stream.Collector v;
boolean v;
v := @this: org.apache.hive.http.Log4j2ConfiguratorServlet;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = virtualinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet: javax.servlet.ServletContext getServletContext()>();
v = staticinvoke <org.apache.hive.http.HttpServer: boolean isInstrumentationAccessAllowed(javax.servlet.ServletContext,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v, v);
if v != 0 goto label;
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setStatus(int)>(401);
return;
label:
specialinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet: void setResponseHeader(javax.servlet.http.HttpServletResponse)>(v);
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.io.BufferedReader getReader()>();
v = virtualinvoke v.<java.io.BufferedReader: java.util.stream.Stream lines()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object readValue(java.lang.String,java.lang.Class)>(v, class "Lorg/apache/hive/http/Log4j2ConfiguratorServlet$ConfLoggers;");
specialinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet: void configureLogger(org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers)>(v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setStatus(int)>(400);
v = <org.apache.hive.http.Log4j2ConfiguratorServlet: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error configuring log4j via /conflog endpoint.", v);
return;
label:
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setStatus(int)>(200);
return;
catch java.io.IOException from label to label with label;
}
private void configureLogger(org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers)
{
org.apache.logging.log4j.core.config.LoggerConfig v, v;
org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.Level v;
org.apache.logging.log4j.core.config.Configuration v, v, v;
java.lang.String v, v, v, v;
boolean v, v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v;
java.util.List v;
org.apache.hive.http.Log4j2ConfiguratorServlet v;
java.lang.Object v;
v := @this: org.apache.hive.http.Log4j2ConfiguratorServlet;
v := @parameter: org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers;
if v == null goto label;
v = virtualinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers: java.util.List getLoggers()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLogger: java.lang.String getLogger()>();
v = virtualinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLogger: java.lang.String getLevel()>();
v = staticinvoke <org.apache.logging.log4j.Level: org.apache.logging.log4j.Level getLevel(java.lang.String)>(v);
if v != null goto label;
v = <org.apache.hive.http.Log4j2ConfiguratorServlet: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLogger: java.lang.String getLevel()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Invalid log level: {} for logger: {}. Ignoring reconfiguration.", v, v);
goto label;
label:
v = v.<org.apache.hive.http.Log4j2ConfiguratorServlet: org.apache.logging.log4j.core.config.Configuration conf>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.config.LoggerConfig getLoggerConfig(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("");
if v != 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("");
if v == 0 goto label;
v = <org.apache.hive.http.Log4j2ConfiguratorServlet: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Requested logger ({}) not found. Adding as new logger with {} level", v, v);
v = v.<org.apache.hive.http.Log4j2ConfiguratorServlet: org.apache.logging.log4j.core.config.Configuration conf>;
v = new org.apache.logging.log4j.core.config.LoggerConfig;
specialinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: void <init>(java.lang.String,org.apache.logging.log4j.Level,boolean)>(v, v, 1);
interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: void addLogger(java.lang.String,org.apache.logging.log4j.core.config.LoggerConfig)>(v, v);
goto label;
label:
v = <org.apache.hive.http.Log4j2ConfiguratorServlet: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Updating logger ({}) to {} level", v, v);
virtualinvoke v.<org.apache.logging.log4j.core.config.LoggerConfig: void setLevel(org.apache.logging.log4j.Level)>(v);
goto label;
label:
v = v.<org.apache.hive.http.Log4j2ConfiguratorServlet: org.apache.logging.log4j.core.LoggerContext context>;
v = v.<org.apache.hive.http.Log4j2ConfiguratorServlet: org.apache.logging.log4j.core.config.Configuration conf>;
virtualinvoke v.<org.apache.logging.log4j.core.LoggerContext: void updateLoggers(org.apache.logging.log4j.core.config.Configuration)>(v);
label:
return;
}
private void listLoggers(javax.servlet.http.HttpServletResponse) throws java.io.IOException
{
java.io.PrintWriter v;
java.lang.Throwable v;
org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers v;
org.slf4j.Logger v;
com.fasterxml.jackson.databind.ObjectWriter v;
java.util.Collection v;
com.fasterxml.jackson.databind.ObjectMapper v;
javax.servlet.http.HttpServletResponse v;
java.io.IOException v;
org.apache.logging.log4j.core.config.Configuration v;
java.util.function.Consumer v;
org.apache.hive.http.Log4j2ConfiguratorServlet v;
java.util.Map v;
v := @this: org.apache.hive.http.Log4j2ConfiguratorServlet;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = null;
label:
v = interfaceinvoke v.<javax.servlet.http.HttpServletResponse: java.io.PrintWriter getWriter()>();
v = new org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers;
specialinvoke v.<org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers: void <init>()>();
v = v.<org.apache.hive.http.Log4j2ConfiguratorServlet: org.apache.logging.log4j.core.config.Configuration conf>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: java.util.Map getLoggers()>();
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = staticinvoke <org.apache.hive.http.Log4j2ConfiguratorServlet$lambda_listLoggers_0__16: java.util.function.Consumer bootstrap$(org.apache.hive.http.Log4j2ConfiguratorServlet$ConfLoggers)>(v);
interfaceinvoke v.<java.util.Collection: void forEach(java.util.function.Consumer)>(v);
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writerWithDefaultPrettyPrinter()>();
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectWriter: void writeValue(java.io.Writer,java.lang.Object)>(v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.PrintWriter: void close()>();
goto label;
label:
v := @caughtexception;
v = <org.apache.hive.http.Log4j2ConfiguratorServlet: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Caught an exception while processing Log4j configuration request", v);
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setStatus(int)>(500);
label:
if v == null goto label;
virtualinvoke v.<java.io.PrintWriter: void close()>();
label:
return;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<java.io.PrintWriter: void close()>();
label:
throw v;
label:
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setStatus(int)>(200);
return;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hive/http/Log4j2ConfiguratorServlet;");
<org.apache.hive.http.Log4j2ConfiguratorServlet: org.slf4j.Logger LOG> = v;
return;
}
}