Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.修改日志滚动策略逻辑: #529

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,68 +21,59 @@
import java.io.File;
import java.io.IOException;

/**
* LoadTestAwareAppender
*
* @author yangguanchao
* @since 2017/06/25
*/
public final class LoadTestAwareAppender implements TraceAppender {
private TimedRollingFileAppender nonLoadTestTraceAppender;
private TimedRollingFileAppender loadTestTraceAppender;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

把注释都加回来

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

注释还原了


/** TraceAppender for non-pressure */
private TraceAppender nonLoadTestTraceAppender;
/** TraceAppender for pressure*/
private TraceAppender loadTestTraceAppender;

private LoadTestAwareAppender(TraceAppender nonLoadTestTraceAppender,
TraceAppender loadTestTraceAppender) {
private LoadTestAwareAppender(TimedRollingFileAppender nonLoadTestTraceAppender,
TimedRollingFileAppender loadTestTraceAppender) {
this.nonLoadTestTraceAppender = nonLoadTestTraceAppender;
this.loadTestTraceAppender = loadTestTraceAppender;
}

public static LoadTestAwareAppender createLoadTestAwareTimedRollingFileAppender(String logName,
boolean append) {
TraceAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName, append);
TraceAppender loadTestTraceAppender = new TimedRollingFileAppender("shadow"
+ File.separator
+ logName, append);
TimedRollingFileAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName,
append);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

代码格式有问题?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

我这个是idea格式化之后的代码,要不要还原成和之前一样的格式

TimedRollingFileAppender loadTestTraceAppender = new TimedRollingFileAppender(
"shadow" + File.separator + logName, append);
return new LoadTestAwareAppender(nonLoadTestTraceAppender, loadTestTraceAppender);
}

public static LoadTestAwareAppender createLoadTestAwareTimedRollingFileAppender(String logName,
String rollingPolicy,
String logReserveConfig) {
TraceAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName,
rollingPolicy, logReserveConfig);
TraceAppender loadTestTraceAppender = new TimedRollingFileAppender("shadow"
+ File.separator
+ logName,
TimedRollingFileAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName,
rollingPolicy, logReserveConfig);
TimedRollingFileAppender loadTestTraceAppender = new TimedRollingFileAppender(
"shadow" + File.separator + logName, rollingPolicy, logReserveConfig);
return new LoadTestAwareAppender(nonLoadTestTraceAppender, loadTestTraceAppender);
}

public void append(String log, boolean loadTest) throws IOException {
if (loadTest) {
loadTestTraceAppender.append(log);
this.loadTestTraceAppender.append(log);
} else {
nonLoadTestTraceAppender.append(log);
this.nonLoadTestTraceAppender.append(log);
}
}

@Override
public void flush() throws IOException {
nonLoadTestTraceAppender.flush();
loadTestTraceAppender.flush();
this.nonLoadTestTraceAppender.flush();
this.loadTestTraceAppender.flush();
}

@Override
public void append(String log) throws IOException {
throw new UnsupportedOperationException();
}

@Override
public void cleanup() {
nonLoadTestTraceAppender.cleanup();
loadTestTraceAppender.cleanup();
this.nonLoadTestTraceAppender.cleanup();
this.loadTestTraceAppender.cleanup();
}

public void reset(String datePattern) {
nonLoadTestTraceAppender.resetTimedRollingFilleConfig(datePattern);
loadTestTraceAppender.resetTimedRollingFilleConfig(datePattern);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,17 @@ public TimedRollingFileAppender(String file, int bufferSize, boolean append,
TracerDaemon.watch(this);
}

public void resetTimedRollingFilleConfig(String datePattern) {
this.datePattern = datePattern;
sdf = new SimpleDateFormat(this.datePattern);
rc.setType(computeCheckPeriod());
scheduledFilename = fileName + sdf.format(new Date(logFile.lastModified()));
TracerDaemon.watch(this);
//重置 nextCheck
now.setTime(System.currentTimeMillis());
this.nextCheck = rc.getNextCheckMillis(now);
}

/**
* Determine if RollOver should be done now
* @return true:Now RollOver
Expand Down
Loading