Java源码示例:org.apache.log4j.helpers.AppenderAttachableImpl
示例1
/**
* Create new instance.
*/
public AsyncAppender() {
appenders = new AppenderAttachableImpl();
//
// only set for compatibility
aai = appenders;
dispatcher =
new Thread(new Dispatcher(this, buffer, discardMap, appenders));
// It is the user's responsibility to close appenders before
// exiting.
dispatcher.setDaemon(true);
// set the dispatcher priority to lowest possible value
// dispatcher.setPriority(Thread.MIN_PRIORITY);
dispatcher.setName("Dispatcher-" + dispatcher.getName());
dispatcher.start();
}
示例2
public void close() {
this.baseImplementation.stop();
AppenderAttachableImpl var1 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
Enumeration enumer = this.downstreamAppenders.getAllAppenders();
while(enumer != null && enumer.hasMoreElements()) {
Appender appender = (Appender)enumer.nextElement();
if (appender instanceof Flushable) {
try {
((Flushable)appender).flush();
} catch (Exception var6) {
;
}
}
}
enumer = this.downstreamAppenders.getAllAppenders();
while(true) {
if (enumer == null || !enumer.hasMoreElements()) {
break;
}
((Appender)enumer.nextElement()).close();
}
}
this.closed = true;
}
示例3
public GraphingStatisticsAppender() {
this.graphType = StatsValueRetriever.MEAN_VALUE_RETRIEVER.getValueName();
this.tagNamesToGraph = null;
this.dataPointsPerGraph = 20;
this.numLoggedStatistics = new AtomicLong();
this.hasUnflushedData = false;
this.lastAppendedEventLevel = Level.INFO;
this.downstreamAppenders = new AppenderAttachableImpl();
}
示例4
public void close() {
AppenderAttachableImpl var1 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.flush();
Enumeration enumer = this.downstreamAppenders.getAllAppenders();
while(enumer != null && enumer.hasMoreElements()) {
Appender appender = (Appender)enumer.nextElement();
appender.close();
}
}
}
示例5
public void flush() {
AppenderAttachableImpl var1 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
if (this.hasUnflushedData && this.downstreamAppenders.getAllAppenders() != null) {
this.downstreamAppenders.appendLoopOnAppenders(new LoggingEvent(Logger.class.getName(), Logger.getLogger("org.perf4j.TimingLogger"), System.currentTimeMillis(), this.lastAppendedEventLevel, this.chartGenerator.getChartUrl(), (Throwable)null));
this.hasUnflushedData = false;
}
}
}
示例6
/**
* Create new instance of dispatcher.
*
* @param parent parent AsyncAppender, may not be null.
* @param buffer event buffer, may not be null.
* @param discardMap discard map, may not be null.
* @param appenders appenders, may not be null.
*/
public Dispatcher(
final AsyncAppender parent, final List buffer, final Map discardMap,
final AppenderAttachableImpl appenders) {
this.parent = parent;
this.buffer = buffer;
this.appenders = appenders;
this.discardMap = discardMap;
}
示例7
public AsyncCoalescingStatisticsAppender() {
this.downstreamLogLevel = Level.INFO;
this.baseImplementation = this.newGenericAsyncCoalescingStatisticsAppender();
this.downstreamAppenders = new AppenderAttachableImpl();
this.shutdownHook = null;
}
示例8
public void addAppender(Appender appender) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.downstreamAppenders.addAppender(appender);
}
}
示例9
public Enumeration getAllAppenders() {
AppenderAttachableImpl var1 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
return this.downstreamAppenders.getAllAppenders();
}
}
示例10
public Appender getAppender(String name) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
return this.downstreamAppenders.getAppender(name);
}
}
示例11
public boolean isAttached(Appender appender) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
return this.downstreamAppenders.isAttached(appender);
}
}
示例12
public void removeAllAppenders() {
AppenderAttachableImpl var1 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.downstreamAppenders.removeAllAppenders();
}
}
示例13
public void removeAppender(Appender appender) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.downstreamAppenders.removeAppender(appender);
}
}
示例14
public void removeAppender(String name) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.downstreamAppenders.removeAppender(name);
}
}
示例15
public void addAppender(Appender appender) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.downstreamAppenders.addAppender(appender);
}
}
示例16
public Enumeration getAllAppenders() {
AppenderAttachableImpl var1 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
return this.downstreamAppenders.getAllAppenders();
}
}
示例17
public Appender getAppender(String name) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
return this.downstreamAppenders.getAppender(name);
}
}
示例18
public boolean isAttached(Appender appender) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
return this.downstreamAppenders.isAttached(appender);
}
}
示例19
public void removeAllAppenders() {
AppenderAttachableImpl var1 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.downstreamAppenders.removeAllAppenders();
}
}
示例20
public void removeAppender(Appender appender) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.downstreamAppenders.removeAppender(appender);
}
}
示例21
public void removeAppender(String name) {
AppenderAttachableImpl var2 = this.downstreamAppenders;
synchronized(this.downstreamAppenders) {
this.downstreamAppenders.removeAppender(name);
}
}