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

📄 80546cc9408b001c1ef4f4e88aa799ae

📁 一个类似于log4j的小软件
💻
字号:
package main.cn.edu.nju.software.sd.cll;
import java.io.*;
import java.util.*;

public class Configuration {
	public static String path = readClasspath();
	public static Properties configuration= new Properties();
	
/**读取工程的classpath,获得配置文件的路径*/	
	public static String readClasspath()
	{
		String p = System.getProperty("java.class.path");
		String classpath = null;
		int semi = p.indexOf(";");
		if(semi==-1)
		{
			classpath = p+"/loggerConfiguration.txt";
		}
		else
		{
			classpath = p.substring(0, semi) + "/loggerConfiguration.txt";
		}
		return classpath;
	}
/**配置root logger*/	
	public static void initRootLogger(Logger rootLogger){
		try
		{
			configuration.load(new FileInputStream(path));
			configLevel(rootLogger);
			configDestination(rootLogger);
			configFormat(rootLogger);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	public static void config(Logger logger) {
		try {
			configuration.load(new FileInputStream(path));
			
			configLevel(logger);
			configDestination(logger);
			configFormat(logger);		
		}
		catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	
	/**配置logger的level*/
	public static void configLevel(Logger logger)
	{
		String levelstr = configuration.getProperty(logger.getName());
		if(levelstr==null)
		{
			logger.setLevel(null, true);
		}
		else
		{
			Level l = Level.toLevel(levelstr);
			logger.setLevel(l, false);
		}
	}
	/**从配置文件中读取信息配置format*/
	public static void configFormat(Logger logger)
	{
		String formatstr = configuration.getProperty(logger.getName()+".format");
		if(formatstr==null)
		{
			logger.setFormat(null, true);
		}
		else
		{
			Format f = new Format(formatstr);
			logger.setFormat(f, false);
		}
	}
	/**从配置文件中读取信息配置destination*/
	public static void configDestination(Logger logger)
	{
		String desStr = configuration.getProperty(logger.getName()+".destination");
		if(desStr==null)
		{
			logger.addHandler(null, true);
		}
		else
		{
			String[] des = desStr.split(",");
			for(int i=0;i<des.length;i++)
			{
				if(des[i].equalsIgnoreCase("CONSOLE"))
				{
					logger.addHandler(new ConsoleHandler(), false);
				}
				else if(des[i].equalsIgnoreCase("FILE"))
				{
					String files = configuration.getProperty(logger.getName()+".destination.file");
					logger.addHandler(new FileHandler(files), false);
				}
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -