📄 loggerchannelimpl.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: LoggerChannelImpl.java
package org.gudy.azureus2.pluginsimpl.local.logging;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import org.gudy.azureus2.core3.logging.LogAlert;
import org.gudy.azureus2.core3.logging.LogEvent;
import org.gudy.azureus2.core3.logging.LogIDs;
import org.gudy.azureus2.core3.logging.Logger;
import org.gudy.azureus2.core3.util.AEDiagnostics;
import org.gudy.azureus2.core3.util.AEDiagnosticsLogger;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.core3.util.FileUtil;
import org.gudy.azureus2.plugins.logging.LoggerChannel;
import org.gudy.azureus2.plugins.logging.LoggerChannelListener;
public class LoggerChannelImpl
implements LoggerChannel
{
private static final LogIDs LOGID;
private org.gudy.azureus2.plugins.logging.Logger logger;
private String name;
private boolean timestamp;
private boolean no_output;
private List listeners;
private AEDiagnosticsLogger diagnostic_logger;
protected LoggerChannelImpl(org.gudy.azureus2.plugins.logging.Logger _logger, String _name, boolean _timestamp, boolean _no_output)
{
listeners = new ArrayList();
logger = _logger;
name = _name;
timestamp = _timestamp;
no_output = _no_output;
}
public org.gudy.azureus2.plugins.logging.Logger getLogger()
{
return logger;
}
public String getName()
{
return name;
}
public boolean isEnabled()
{
return Logger.isEnabled();
}
public void setDiagnostic()
{
if (diagnostic_logger == null)
{
diagnostic_logger = AEDiagnostics.getLogger(FileUtil.convertOSSpecificChars(name, false));
addListener(new LoggerChannelListener() {
final LoggerChannelImpl this$0;
public void messageLogged(int type, String content)
{
diagnostic_logger.log(content);
}
public void messageLogged(String str, Throwable error)
{
diagnostic_logger.log(str);
diagnostic_logger.log(error);
}
{
this$0 = LoggerChannelImpl.this;
super();
}
});
}
}
private int LogTypePluginToCore(int pluginLogType)
{
switch (pluginLogType)
{
case 1: // '\001'
return 0;
case 2: // '\002'
return 1;
case 3: // '\003'
return 3;
}
return 0;
}
private void notifyListeners(int log_type, String data)
{
for (int i = 0; i < listeners.size(); i++)
try
{
LoggerChannelListener l = (LoggerChannelListener)listeners.get(i);
l.messageLogged(log_type, data);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
private void notifyListeners(String listenersText, Throwable error)
{
for (int i = 0; i < listeners.size(); i++)
try
{
LoggerChannelListener l = (LoggerChannelListener)listeners.get(i);
l.messageLogged(listenersText, error);
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
}
public void log(int log_type, String data)
{
notifyListeners(log_type, addTimeStamp(data));
if (isEnabled() && !no_output)
{
data = (new StringBuilder()).append("[").append(name).append("] ").append(data).toString();
Logger.log(new LogEvent(LOGID, LogTypePluginToCore(log_type), data));
}
}
public void log(String data)
{
log(1, data);
}
public void log(Object relatedTo[], int log_type, String data)
{
notifyListeners(log_type, addTimeStamp(data));
if (isEnabled() && !no_output)
{
data = (new StringBuilder()).append("[").append(name).append("] ").append(data).toString();
Logger.log(new LogEvent(relatedTo, LOGID, LogTypePluginToCore(log_type), data));
}
}
public void log(Object relatedTo, int log_type, String data)
{
log(new Object[] {
relatedTo
}, log_type, data);
}
public void log(Throwable error)
{
log("", error);
}
public void log(String str, Throwable error)
{
notifyListeners(str.equals("") ? "" : addTimeStamp(str), error);
if (!no_output)
{
LogEvent event = new LogEvent(LOGID, (new StringBuilder()).append("[").append(name).append("] ").append(str).toString(), error);
Logger.log(event);
}
}
public void log(Object relatedTo[], String str, Throwable error)
{
notifyListeners(str.equals("") ? "" : addTimeStamp(str), error);
if (isEnabled() && !no_output)
{
str = (new StringBuilder()).append("[").append(name).append("] ").append(str).toString();
Logger.log(new LogEvent(relatedTo, LOGID, str, error));
}
}
public void log(Object relatedTo, String str, Throwable error)
{
log(new Object[] {
relatedTo
}, str, error);
}
public void log(Object relatedTo[], String data)
{
log(relatedTo, 1, data);
}
public void log(Object relatedTo, String data)
{
log(relatedTo, 1, data);
}
protected void logAlert(int alert_type, String message, boolean repeatable)
{
for (int i = 0; i < listeners.size(); i++)
try
{
((LoggerChannelListener)listeners.get(i)).messageLogged(alert_type, addTimeStamp(message));
}
catch (Throwable e)
{
Debug.printStackTrace(e);
}
if (!no_output)
{
int at;
switch (alert_type)
{
case 1: // '\001'
at = 0;
break;
case 2: // '\002'
at = 1;
break;
default:
at = 3;
break;
}
Logger.log(new LogAlert(repeatable, at, message));
}
}
public void logAlert(int alert_type, String message)
{
logAlert(alert_type, message, false);
}
public void logAlertRepeatable(int alert_type, String message)
{
logAlert(alert_type, message, true);
}
public void logAlert(String message, Throwable e)
{
for (int i = 0; i < listeners.size(); i++)
try
{
((LoggerChannelListener)listeners.get(i)).messageLogged(addTimeStamp(message), e);
}
catch (Throwable f)
{
Debug.printStackTrace(f);
}
if (!no_output)
Logger.log(new LogAlert(false, message, e));
}
public void logAlertRepeatable(String message, Throwable e)
{
for (int i = 0; i < listeners.size(); i++)
try
{
((LoggerChannelListener)listeners.get(i)).messageLogged(addTimeStamp(message), e);
}
catch (Throwable f)
{
Debug.printStackTrace(f);
}
if (!no_output)
Logger.log(new LogAlert(true, message, e));
}
public void addListener(LoggerChannelListener l)
{
listeners.add(l);
}
public void removeListener(LoggerChannelListener l)
{
listeners.remove(l);
}
protected String addTimeStamp(String data)
{
if (timestamp)
return (new StringBuilder()).append(getTimeStamp()).append(data).toString();
else
return data;
}
protected String getTimeStamp()
{
Calendar now = GregorianCalendar.getInstance();
String timeStamp = (new StringBuilder()).append("[").append(now.get(11)).append(":").append(format(now.get(12))).append(":").append(format(now.get(13))).append("] ").toString();
return timeStamp;
}
private static String format(int n)
{
if (n < 10)
return (new StringBuilder()).append("0").append(n).toString();
else
return String.valueOf(n);
}
static
{
LOGID = LogIDs.PLUGIN;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -