public class org.apache.dubbo.remoting.telnet.support.command.LogTelnetHandler extends java.lang.Object implements org.apache.dubbo.remoting.telnet.TelnetHandler
{
public static final java.lang.String SERVICE_KEY;
public void <init>()
{
org.apache.dubbo.remoting.telnet.support.command.LogTelnetHandler v;
v := @this: org.apache.dubbo.remoting.telnet.support.command.LogTelnetHandler;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public java.lang.String telnet(org.apache.dubbo.remoting.Channel, java.lang.String)
{
byte[] v;
java.util.Date v;
java.nio.ByteBuffer v;
byte v;
boolean v, v;
org.apache.dubbo.remoting.Channel v;
java.lang.Exception v;
java.lang.StringBuilder v, v;
java.lang.Throwable v, v;
java.text.SimpleDateFormat v;
java.lang.String[] v;
long v, v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.dubbo.remoting.telnet.support.command.LogTelnetHandler v;
org.apache.dubbo.common.logger.Level v, v;
java.io.FileInputStream v;
java.io.File v;
java.nio.channels.FileChannel v;
v := @this: org.apache.dubbo.remoting.telnet.support.command.LogTelnetHandler;
v := @parameter: org.apache.dubbo.remoting.Channel;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.dubbo.common.logger.LoggerFactory: java.io.File getFile()>();
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("EXAMPLE: log error / log 100");
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(" ");
v = v[0];
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isInteger(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase()>();
v = staticinvoke <org.apache.dubbo.common.logger.Level: org.apache.dubbo.common.logger.Level valueOf(java.lang.String)>(v);
staticinvoke <org.apache.dubbo.common.logger.LoggerFactory: void setLevel(org.apache.dubbo.common.logger.Level)>(v);
goto label;
label:
v = v[0];
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
label:
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
v = virtualinvoke v.<java.io.FileInputStream: java.nio.channels.FileChannel getChannel()>();
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: long size()>();
v = v cmp v;
if v > 0 goto label;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
virtualinvoke v.<java.nio.channels.FileChannel: int read(java.nio.ByteBuffer,long)>(v, 0L);
goto label;
label:
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
virtualinvoke v.<java.nio.channels.FileChannel: int read(java.nio.ByteBuffer,long)>(v, v);
label:
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = new java.lang.String;
v = virtualinvoke v.<java.nio.ByteBuffer: byte[] array()>();
specialinvoke v.<java.lang.String: void <init>(byte[])>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("<", "&lt;");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(">", "&gt;");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\n", "<br/><br/>");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\r\ncontent:\u0001");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = new java.text.SimpleDateFormat;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String)>("yyyy-MM-dd HH:mm:ss");
v = new java.util.Date;
v = virtualinvoke v.<java.io.File: long lastModified()>();
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = virtualinvoke v.<java.text.SimpleDateFormat: java.lang.String format(java.util.Date)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\r\nmodified:\u0001");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\r\nsize:\u0001\r\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
virtualinvoke v.<java.nio.channels.FileChannel: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\r\nMESSAGE: log file not exists or log appender is console .");
label:
v = staticinvoke <org.apache.dubbo.common.logger.LoggerFactory: org.apache.dubbo.common.logger.Level getLevel()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.common.logger.Level)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\r\nCURRENT LOG LEVEL:\u0001");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
if v != null goto label;
v = "console";
goto label;
label:
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\r\nCURRENT LOG APPENDER:\u0001");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
}