📄 loggerimpl.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: LoggerImpl.java
package org.gudy.azureus2.pluginsimpl.local.logging;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import org.gudy.azureus2.core3.logging.ILogAlertListener;
import org.gudy.azureus2.core3.logging.LogAlert;
import org.gudy.azureus2.core3.logging.LogEvent;
import org.gudy.azureus2.core3.logging.Logger;
import org.gudy.azureus2.core3.logging.impl.FileLogging;
import org.gudy.azureus2.core3.logging.impl.FileLoggingAdapter;
import org.gudy.azureus2.plugins.PluginInterface;
import org.gudy.azureus2.plugins.logging.FileLoggerAdapter;
import org.gudy.azureus2.plugins.logging.LogAlertListener;
import org.gudy.azureus2.plugins.logging.LoggerAlertListener;
import org.gudy.azureus2.plugins.logging.LoggerChannel;
// Referenced classes of package org.gudy.azureus2.pluginsimpl.local.logging:
// LoggerChannelImpl
public class LoggerImpl
implements org.gudy.azureus2.plugins.logging.Logger
{
private class PluginFileLoggerAdapater extends FileLoggingAdapter
{
public FileLoggerAdapter listener;
final LoggerImpl this$0;
public boolean logToFile(LogEvent event, StringBuffer lineOut)
{
return listener.logToFile(lineOut);
}
public PluginFileLoggerAdapater(FileLogging fileLogging, FileLoggerAdapter listener)
{
this$0 = LoggerImpl.this;
super();
fileLogging.addListener(this);
this.listener = listener;
}
}
private PluginInterface pi;
private List channels;
private Map alert_listeners_map;
private Map alert_listeners_map2;
public LoggerImpl(PluginInterface _pi)
{
channels = new ArrayList();
alert_listeners_map = new HashMap();
alert_listeners_map2 = new HashMap();
pi = _pi;
}
public PluginInterface getPluginInterface()
{
return pi;
}
public LoggerChannel getChannel(String name)
{
LoggerChannel channel = new LoggerChannelImpl(this, name, false, false);
channels.add(channel);
return channel;
}
public LoggerChannel getTimeStampedChannel(String name)
{
LoggerChannel channel = new LoggerChannelImpl(this, name, true, false);
channels.add(channel);
return channel;
}
public LoggerChannel getNullChannel(String name)
{
LoggerChannel channel = new LoggerChannelImpl(this, name, true, true);
channels.add(channel);
return channel;
}
public LoggerChannel[] getChannels()
{
LoggerChannel res[] = new LoggerChannel[channels.size()];
channels.toArray(res);
return res;
}
public void addAlertListener(final LoggerAlertListener listener)
{
ILogAlertListener lg_listener = new ILogAlertListener() {
final LoggerAlertListener val$listener;
final LoggerImpl this$0;
public void alertRaised(LogAlert alert)
{
if (alert.err == null)
{
int type;
if (alert.entryType == 0)
type = 1;
else
if (alert.entryType == 1)
type = 2;
else
type = 3;
listener.alertLogged(type, alert.text, alert.repeatable);
} else
{
listener.alertLogged(alert.text, alert.err, alert.repeatable);
}
}
{
this$0 = LoggerImpl.this;
listener = loggeralertlistener;
super();
}
};
alert_listeners_map.put(listener, lg_listener);
Logger.addListener(lg_listener);
}
public void removeAlertListener(LoggerAlertListener listener)
{
ILogAlertListener lg_listener = (ILogAlertListener)alert_listeners_map.remove(listener);
if (lg_listener != null)
Logger.removeListener(lg_listener);
}
public void addAlertListener(final LogAlertListener listener)
{
ILogAlertListener lg_listener = new ILogAlertListener() {
private HashSet set;
final LogAlertListener val$listener;
final LoggerImpl this$0;
public void alertRaised(LogAlert alert)
{
if (!alert.repeatable)
{
if (set.contains(alert.text))
return;
set.add(alert.text);
}
listener.alertRaised(alert);
}
{
this$0 = LoggerImpl.this;
listener = logalertlistener;
super();
set = new HashSet();
}
};
alert_listeners_map2.put(listener, lg_listener);
Logger.addListener(lg_listener);
}
public void removeAlertListener(LogAlertListener listener)
{
ILogAlertListener lg_listener = (ILogAlertListener)alert_listeners_map2.remove(listener);
if (lg_listener != null)
Logger.removeListener(lg_listener);
}
public void addFileLoggingListener(FileLoggerAdapter listener)
{
FileLogging fileLogging = Logger.getFileLoggingInstance();
if (fileLogging == null)
{
return;
} else
{
fileLogging.addListener(new PluginFileLoggerAdapater(fileLogging, listener));
return;
}
}
public void removeFileLoggingListener(FileLoggerAdapter listener)
{
FileLogging fileLogging = Logger.getFileLoggingInstance();
if (fileLogging == null)
return;
Object listeners[] = fileLogging.getListeners().toArray();
for (int i = 0; i < listeners.length; i++)
{
if (!(listeners[i] instanceof PluginFileLoggerAdapater))
continue;
PluginFileLoggerAdapater l = (PluginFileLoggerAdapater)listeners[i];
if (l.listener == listener)
fileLogging.removeListener(l);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -