⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loggerchannelimpl.java

📁 java 文件下载器。可自定义
💻 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 + -