mirror of https://github.com/winsw/winsw
Fix stdout/stderr redirection when log disabled
parent
e06ae851f4
commit
fce9a79d66
|
@ -86,7 +86,32 @@ namespace winsw
|
||||||
ErrFilePattern = errFilePattern;
|
ErrFilePattern = errFilePattern;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void log(StreamReader outputReader, StreamReader errorReader)
|
||||||
|
{
|
||||||
|
if (this.OutFileDisabled)
|
||||||
|
{
|
||||||
|
outputReader.Dispose();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.LogOutput(outputReader);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.ErrFileDisabled)
|
||||||
|
{
|
||||||
|
errorReader.Dispose();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.LogError(errorReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected StreamWriter CreateWriter(FileStream stream) => new StreamWriter(stream) { AutoFlush = true };
|
protected StreamWriter CreateWriter(FileStream stream) => new StreamWriter(stream) { AutoFlush = true };
|
||||||
|
|
||||||
|
protected abstract void LogOutput(StreamReader outputReader);
|
||||||
|
|
||||||
|
protected abstract void LogError(StreamReader errorReader);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class SimpleLogAppender : AbstractFileLogAppender
|
public abstract class SimpleLogAppender : AbstractFileLogAppender
|
||||||
|
@ -103,12 +128,13 @@ namespace winsw
|
||||||
ErrorLogFileName = BaseLogFileName + ".err.log";
|
ErrorLogFileName = BaseLogFileName + ".err.log";
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void log(StreamReader outputReader, StreamReader errorReader)
|
protected override void LogOutput(StreamReader outputReader)
|
||||||
{
|
{
|
||||||
if (!OutFileDisabled)
|
|
||||||
new Thread(() => CopyStream(outputReader, CreateWriter(new FileStream(OutputLogFileName, FileMode)))).Start();
|
new Thread(() => CopyStream(outputReader, CreateWriter(new FileStream(OutputLogFileName, FileMode)))).Start();
|
||||||
|
}
|
||||||
|
|
||||||
if (!ErrFileDisabled)
|
protected override void LogError(StreamReader errorReader)
|
||||||
|
{
|
||||||
new Thread(() => CopyStream(errorReader, CreateWriter(new FileStream(ErrorLogFileName, FileMode)))).Start();
|
new Thread(() => CopyStream(errorReader, CreateWriter(new FileStream(ErrorLogFileName, FileMode)))).Start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,8 +162,8 @@ namespace winsw
|
||||||
{
|
{
|
||||||
public override void log(StreamReader outputReader, StreamReader errorReader)
|
public override void log(StreamReader outputReader, StreamReader errorReader)
|
||||||
{
|
{
|
||||||
new Thread(() => CopyStream(outputReader, StreamWriter.Null)).Start();
|
outputReader.Dispose();
|
||||||
new Thread(() => CopyStream(errorReader, StreamWriter.Null)).Start();
|
errorReader.Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,12 +179,13 @@ namespace winsw
|
||||||
Period = period;
|
Period = period;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void log(StreamReader outputReader, StreamReader errorReader)
|
protected override void LogOutput(StreamReader outputReader)
|
||||||
{
|
{
|
||||||
if (!OutFileDisabled)
|
|
||||||
new Thread(() => CopyStreamWithDateRotation(outputReader, OutFilePattern)).Start();
|
new Thread(() => CopyStreamWithDateRotation(outputReader, OutFilePattern)).Start();
|
||||||
|
}
|
||||||
|
|
||||||
if (!ErrFileDisabled)
|
protected override void LogError(StreamReader errorReader)
|
||||||
|
{
|
||||||
new Thread(() => CopyStreamWithDateRotation(errorReader, ErrFilePattern)).Start();
|
new Thread(() => CopyStreamWithDateRotation(errorReader, ErrFilePattern)).Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,12 +240,13 @@ namespace winsw
|
||||||
public SizeBasedRollingLogAppender(string logDirectory, string baseName, bool outFileDisabled, bool errFileDisabled, string outFilePattern, string errFilePattern)
|
public SizeBasedRollingLogAppender(string logDirectory, string baseName, bool outFileDisabled, bool errFileDisabled, string outFilePattern, string errFilePattern)
|
||||||
: this(logDirectory, baseName, outFileDisabled, errFileDisabled, outFilePattern, errFilePattern, DEFAULT_SIZE_THRESHOLD, DEFAULT_FILES_TO_KEEP) { }
|
: this(logDirectory, baseName, outFileDisabled, errFileDisabled, outFilePattern, errFilePattern, DEFAULT_SIZE_THRESHOLD, DEFAULT_FILES_TO_KEEP) { }
|
||||||
|
|
||||||
public override void log(StreamReader outputReader, StreamReader errorReader)
|
protected override void LogOutput(StreamReader outputReader)
|
||||||
{
|
{
|
||||||
if (!OutFileDisabled)
|
|
||||||
new Thread(() => CopyStreamWithRotation(outputReader, OutFilePattern)).Start();
|
new Thread(() => CopyStreamWithRotation(outputReader, OutFilePattern)).Start();
|
||||||
|
}
|
||||||
|
|
||||||
if (!ErrFileDisabled)
|
protected override void LogError(StreamReader errorReader)
|
||||||
|
{
|
||||||
new Thread(() => CopyStreamWithRotation(errorReader, ErrFilePattern)).Start();
|
new Thread(() => CopyStreamWithRotation(errorReader, ErrFilePattern)).Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -325,12 +353,13 @@ namespace winsw
|
||||||
ZipDateFormat = zipdateformat;
|
ZipDateFormat = zipdateformat;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void log(StreamReader outputReader, StreamReader errorReader)
|
protected override void LogOutput(StreamReader outputReader)
|
||||||
{
|
{
|
||||||
if (!OutFileDisabled)
|
|
||||||
new Thread(() => CopyStreamWithRotation(outputReader, OutFilePattern)).Start();
|
new Thread(() => CopyStreamWithRotation(outputReader, OutFilePattern)).Start();
|
||||||
|
}
|
||||||
|
|
||||||
if (!ErrFileDisabled)
|
protected override void LogError(StreamReader errorReader)
|
||||||
|
{
|
||||||
new Thread(() => CopyStreamWithRotation(errorReader, ErrFilePattern)).Start();
|
new Thread(() => CopyStreamWithRotation(errorReader, ErrFilePattern)).Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue