📄 torrentlog.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: TorrentLog.java
package org.gudy.azureus2.ui.console.commands;
import com.aelitis.azureus.core.AzureusCore;
import com.aelitis.azureus.core.AzureusCoreFactory;
import java.io.PrintStream;
import java.text.FieldPosition;
import java.text.SimpleDateFormat;
import java.util.*;
import org.gudy.azureus2.core3.download.DownloadManager;
import org.gudy.azureus2.core3.global.GlobalManager;
import org.gudy.azureus2.core3.global.GlobalManagerAdapter;
import org.gudy.azureus2.core3.logging.*;
import org.gudy.azureus2.core3.util.AEMonitor;
import org.gudy.azureus2.ui.console.ConsoleInput;
// Referenced classes of package org.gudy.azureus2.ui.console.commands:
// TorrentCommand
public class TorrentLog extends TorrentCommand
implements ILogEventListener
{
private static int MODE_OFF = 0;
private static int MODE_ON = 1;
private static int MODE_FLIP = 2;
private static SimpleDateFormat dateFormatter = new SimpleDateFormat("[h:mm:ss.SSS] ");
private static FieldPosition formatPos = new FieldPosition(0);
private int mode;
private AEMonitor dms_mon;
private ArrayList dms;
private boolean gm_listener_added;
public TorrentLog()
{
super("tlog", "tl", "Torrent Logging");
mode = 0;
dms_mon = new AEMonitor("TorrentLog");
dms = new ArrayList();
}
public void execute(String commandName, ConsoleInput ci, List args)
{
mode = MODE_ON;
Vector newargs = new Vector(args);
if (newargs.isEmpty())
mode = MODE_FLIP;
else
if (newargs.contains("off"))
{
newargs.removeElement("off");
mode = MODE_OFF;
} else
if (!newargs.contains("on"))
mode = MODE_FLIP;
super.execute(commandName, ci, args);
}
protected boolean performCommand(ConsoleInput ci, DownloadManager dm, List args)
{
boolean flag;
dms_mon.enter();
if (!gm_listener_added)
{
gm_listener_added = true;
GlobalManager gm = AzureusCoreFactory.getSingleton().getGlobalManager();
gm.addListener(new GlobalManagerAdapter() {
final TorrentLog this$0;
public void downloadManagerRemoved(DownloadManager dm)
{
dms.remove(dm);
}
{
this$0 = TorrentLog.this;
super();
}
}, false);
}
boolean turnOn;
if (mode == MODE_FLIP)
turnOn = !dms.contains(dm);
else
turnOn = mode == MODE_ON;
if (!turnOn)
break MISSING_BLOCK_LABEL_158;
ci.out.print("->on] ");
if (!dms.contains(dm))
break MISSING_BLOCK_LABEL_131;
flag = true;
dms_mon.exit();
return flag;
dms.add(dm);
if (dms.size() == 1)
Logger.addListener(this);
break MISSING_BLOCK_LABEL_190;
ci.out.print("->off] ");
dms.remove(dm);
if (dms.size() == 0)
Logger.removeListener(this);
dms_mon.exit();
break MISSING_BLOCK_LABEL_236;
Exception e;
e;
e.printStackTrace(ci.out);
flag = false;
dms_mon.exit();
return flag;
Exception exception;
exception;
dms_mon.exit();
throw exception;
return true;
}
public String getCommandDescriptions()
{
return "tl [on|off]\tTorrentLogging";
}
public void log(LogEvent event)
{
boolean bMatch;
bMatch = false;
if (event.relatedTo == null)
return;
dms_mon.enter();
for (int i = 0; !bMatch && i < event.relatedTo.length; i++)
{
Object obj = event.relatedTo[i];
if (obj == null)
continue;
for (int j = 0; !bMatch && j < dms.size(); j++)
{
if (obj instanceof LogRelation)
{
Object newObj = ((LogRelation)obj).queryForClass(org/gudy/azureus2/core3/download/DownloadManager);
if (newObj != null)
obj = newObj;
}
if (obj == dms.get(j))
bMatch = true;
}
}
dms_mon.exit();
break MISSING_BLOCK_LABEL_147;
Exception exception;
exception;
dms_mon.exit();
throw exception;
if (bMatch)
{
StringBuffer buf = new StringBuffer();
dateFormatter.format(event.timeStamp, buf, formatPos);
buf.append("{").append(event.logID).append("} ");
buf.append(event.text);
if (event.relatedTo != null)
{
buf.append("; \t| ");
for (int j = 0; j < event.relatedTo.length; j++)
{
Object obj = event.relatedTo[j];
if (j > 0)
buf.append("; ");
if (obj instanceof LogRelation)
{
buf.append(((LogRelation)obj).getRelationText());
continue;
}
if (obj != null)
buf.append(obj.getClass().getName()).append(": '").append(obj.toString()).append("'");
}
}
System.out.println(buf.toString());
}
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -