public class org.apache.log4j.WriterAppender extends org.apache.log4j.AppenderSkeleton
{
protected boolean immediateFlush;
protected java.lang.String encoding;
protected org.apache.log4j.helpers.QuietWriter qw;
public void <init>()
{
org.apache.log4j.WriterAppender v;
v := @this: org.apache.log4j.WriterAppender;
specialinvoke v.<org.apache.log4j.AppenderSkeleton: void <init>()>();
v.<org.apache.log4j.WriterAppender: boolean immediateFlush> = 1;
return;
}
public void <init>(org.apache.log4j.Layout, java.io.OutputStream)
{
java.io.OutputStream v;
java.io.OutputStreamWriter v;
org.apache.log4j.WriterAppender v;
org.apache.log4j.Layout v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: org.apache.log4j.Layout;
v := @parameter: java.io.OutputStream;
v = new java.io.OutputStreamWriter;
specialinvoke v.<java.io.OutputStreamWriter: void <init>(java.io.OutputStream)>(v);
specialinvoke v.<org.apache.log4j.WriterAppender: void <init>(org.apache.log4j.Layout,java.io.Writer)>(v, v);
return;
}
public void <init>(org.apache.log4j.Layout, java.io.Writer)
{
java.io.Writer v;
org.apache.log4j.WriterAppender v;
org.apache.log4j.Layout v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: org.apache.log4j.Layout;
v := @parameter: java.io.Writer;
specialinvoke v.<org.apache.log4j.AppenderSkeleton: void <init>()>();
v.<org.apache.log4j.WriterAppender: boolean immediateFlush> = 1;
v.<org.apache.log4j.WriterAppender: org.apache.log4j.Layout layout> = v;
virtualinvoke v.<org.apache.log4j.WriterAppender: void setWriter(java.io.Writer)>(v);
return;
}
public void setImmediateFlush(boolean)
{
org.apache.log4j.WriterAppender v;
boolean v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: boolean;
v.<org.apache.log4j.WriterAppender: boolean immediateFlush> = v;
return;
}
public boolean getImmediateFlush()
{
org.apache.log4j.WriterAppender v;
boolean v;
v := @this: org.apache.log4j.WriterAppender;
v = v.<org.apache.log4j.WriterAppender: boolean immediateFlush>;
return v;
}
public void activateOptions()
{
org.apache.log4j.WriterAppender v;
v := @this: org.apache.log4j.WriterAppender;
return;
}
public void append(org.apache.log4j.spi.LoggingEvent)
{
org.apache.log4j.WriterAppender v;
org.apache.log4j.spi.LoggingEvent v;
boolean v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: org.apache.log4j.spi.LoggingEvent;
v = virtualinvoke v.<org.apache.log4j.WriterAppender: boolean checkEntryConditions()>();
if v != 0 goto label;
return;
label:
virtualinvoke v.<org.apache.log4j.WriterAppender: void subAppend(org.apache.log4j.spi.LoggingEvent)>(v);
return;
}
protected boolean checkEntryConditions()
{
org.apache.log4j.spi.ErrorHandler v, v;
org.apache.log4j.WriterAppender v;
org.apache.log4j.Layout v;
java.lang.String v, v, v, v;
org.apache.log4j.helpers.QuietWriter v;
boolean v;
v := @this: org.apache.log4j.WriterAppender;
v = v.<org.apache.log4j.WriterAppender: boolean closed>;
if v == 0 goto label;
staticinvoke <org.apache.log4j.helpers.LogLog: void warn(java.lang.String)>("Not allowed to write to a closed appender.");
return 0;
label:
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
if v != null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.spi.ErrorHandler errorHandler>;
v = v.<org.apache.log4j.WriterAppender: java.lang.String name>;
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[])>("No output stream or file set for the appender named [\u].");
interfaceinvoke v.<org.apache.log4j.spi.ErrorHandler: void error(java.lang.String)>(v);
return 0;
label:
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.Layout layout>;
if v != null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.spi.ErrorHandler errorHandler>;
v = v.<org.apache.log4j.WriterAppender: java.lang.String name>;
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[])>("No layout set for the appender named [\u].");
interfaceinvoke v.<org.apache.log4j.spi.ErrorHandler: void error(java.lang.String)>(v);
return 0;
label:
return 1;
}
public synchronized void close()
{
org.apache.log4j.WriterAppender v;
boolean v;
v := @this: org.apache.log4j.WriterAppender;
v = v.<org.apache.log4j.WriterAppender: boolean closed>;
if v == 0 goto label;
return;
label:
v.<org.apache.log4j.WriterAppender: boolean closed> = 1;
virtualinvoke v.<org.apache.log4j.WriterAppender: void writeFooter()>();
virtualinvoke v.<org.apache.log4j.WriterAppender: void reset()>();
return;
}
protected void closeWriter()
{
java.io.IOException v;
java.lang.Thread v;
org.apache.log4j.WriterAppender v;
java.lang.String v;
org.apache.log4j.helpers.QuietWriter v, v, v;
boolean v;
v := @this: org.apache.log4j.WriterAppender;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
if v == null goto label;
label:
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void close()>();
label:
goto label;
label:
v := @caughtexception;
v = v instanceof java.io.InterruptedIOException;
if v == 0 goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.log4j.helpers.QuietWriter)>(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[])>("Could not close \u0001");
staticinvoke <org.apache.log4j.helpers.LogLog: void error(java.lang.String,java.lang.Throwable)>(v, v);
label:
return;
catch java.io.IOException from label to label with label;
}
protected java.io.OutputStreamWriter createWriter(java.io.OutputStream)
{
java.io.OutputStream v;
java.io.IOException v;
java.lang.Thread v;
java.io.OutputStreamWriter v, v, v;
org.apache.log4j.WriterAppender v;
java.lang.String v;
boolean v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: java.io.OutputStream;
v = null;
v = virtualinvoke v.<org.apache.log4j.WriterAppender: java.lang.String getEncoding()>();
if v == null goto label;
label:
v = new java.io.OutputStreamWriter;
specialinvoke v.<java.io.OutputStreamWriter: void <init>(java.io.OutputStream,java.lang.String)>(v, v);
v = v;
label:
goto label;
label:
v := @caughtexception;
v = v instanceof java.io.InterruptedIOException;
if v == 0 goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
staticinvoke <org.apache.log4j.helpers.LogLog: void warn(java.lang.String)>("Error initializing output writer.");
staticinvoke <org.apache.log4j.helpers.LogLog: void warn(java.lang.String)>("Unsupported encoding?");
label:
if v != null goto label;
v = new java.io.OutputStreamWriter;
specialinvoke v.<java.io.OutputStreamWriter: void <init>(java.io.OutputStream)>(v);
v = v;
label:
return v;
catch java.io.IOException from label to label with label;
}
public java.lang.String getEncoding()
{
org.apache.log4j.WriterAppender v;
java.lang.String v;
v := @this: org.apache.log4j.WriterAppender;
v = v.<org.apache.log4j.WriterAppender: java.lang.String encoding>;
return v;
}
public void setEncoding(java.lang.String)
{
org.apache.log4j.WriterAppender v;
java.lang.String v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: java.lang.String;
v.<org.apache.log4j.WriterAppender: java.lang.String encoding> = v;
return;
}
public synchronized void setErrorHandler(org.apache.log4j.spi.ErrorHandler)
{
org.apache.log4j.WriterAppender v;
org.apache.log4j.spi.ErrorHandler v;
org.apache.log4j.helpers.QuietWriter v, v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: org.apache.log4j.spi.ErrorHandler;
if v != null goto label;
staticinvoke <org.apache.log4j.helpers.LogLog: void warn(java.lang.String)>("You have tried to set a null error-handler.");
goto label;
label:
v.<org.apache.log4j.WriterAppender: org.apache.log4j.spi.ErrorHandler errorHandler> = v;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
if v == null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void setErrorHandler(org.apache.log4j.spi.ErrorHandler)>(v);
label:
return;
}
public synchronized void setWriter(java.io.Writer)
{
java.io.Writer v;
org.apache.log4j.WriterAppender v;
org.apache.log4j.spi.ErrorHandler v;
org.apache.log4j.helpers.QuietWriter v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: java.io.Writer;
virtualinvoke v.<org.apache.log4j.WriterAppender: void reset()>();
v = new org.apache.log4j.helpers.QuietWriter;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.spi.ErrorHandler errorHandler>;
specialinvoke v.<org.apache.log4j.helpers.QuietWriter: void <init>(java.io.Writer,org.apache.log4j.spi.ErrorHandler)>(v, v);
v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw> = v;
virtualinvoke v.<org.apache.log4j.WriterAppender: void writeHeader()>();
return;
}
protected void subAppend(org.apache.log4j.spi.LoggingEvent)
{
java.lang.String[] v;
int v, v;
java.lang.String v, v, v;
org.apache.log4j.helpers.QuietWriter v, v, v, v;
boolean v, v;
org.apache.log4j.spi.LoggingEvent v;
org.apache.log4j.WriterAppender v;
org.apache.log4j.Layout v, v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: org.apache.log4j.spi.LoggingEvent;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.Layout layout>;
v = virtualinvoke v.<org.apache.log4j.Layout: java.lang.String format(org.apache.log4j.spi.LoggingEvent)>(v);
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void write(java.lang.String)>(v);
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.Layout layout>;
v = virtualinvoke v.<org.apache.log4j.Layout: boolean ignoresThrowable()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.log4j.spi.LoggingEvent: java.lang.String[] getThrowableStrRep()>();
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
v = v[v];
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void write(java.lang.String)>(v);
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
v = <org.apache.log4j.Layout: java.lang.String LINE_SEP>;
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void write(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.log4j.WriterAppender: boolean shouldFlush(org.apache.log4j.spi.LoggingEvent)>(v);
if v == 0 goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void flush()>();
label:
return;
}
public boolean requiresLayout()
{
org.apache.log4j.WriterAppender v;
v := @this: org.apache.log4j.WriterAppender;
return 1;
}
protected void reset()
{
org.apache.log4j.WriterAppender v;
v := @this: org.apache.log4j.WriterAppender;
virtualinvoke v.<org.apache.log4j.WriterAppender: void closeWriter()>();
v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw> = null;
return;
}
protected void writeFooter()
{
org.apache.log4j.WriterAppender v;
org.apache.log4j.Layout v, v;
java.lang.String v;
org.apache.log4j.helpers.QuietWriter v, v, v;
v := @this: org.apache.log4j.WriterAppender;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.Layout layout>;
if v == null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.Layout layout>;
v = virtualinvoke v.<org.apache.log4j.Layout: java.lang.String getFooter()>();
if v == null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
if v == null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void write(java.lang.String)>(v);
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void flush()>();
label:
return;
}
protected void writeHeader()
{
org.apache.log4j.WriterAppender v;
org.apache.log4j.Layout v, v;
java.lang.String v;
org.apache.log4j.helpers.QuietWriter v, v;
v := @this: org.apache.log4j.WriterAppender;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.Layout layout>;
if v == null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.Layout layout>;
v = virtualinvoke v.<org.apache.log4j.Layout: java.lang.String getHeader()>();
if v == null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
if v == null goto label;
v = v.<org.apache.log4j.WriterAppender: org.apache.log4j.helpers.QuietWriter qw>;
virtualinvoke v.<org.apache.log4j.helpers.QuietWriter: void write(java.lang.String)>(v);
label:
return;
}
protected boolean shouldFlush(org.apache.log4j.spi.LoggingEvent)
{
org.apache.log4j.WriterAppender v;
org.apache.log4j.spi.LoggingEvent v;
boolean v;
v := @this: org.apache.log4j.WriterAppender;
v := @parameter: org.apache.log4j.spi.LoggingEvent;
v = v.<org.apache.log4j.WriterAppender: boolean immediateFlush>;
return v;
}
}