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

📄 logimpl.java

📁 java的团队合作代码
💻 JAVA
字号:
package com.briup.impl.log;

import java.io.IOException;
import java.util.Properties;
import org.apache.log4j.Appender;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import com.briup.Log;
import com.briup.exception.LogException;

/**
 * @author renqs
 * @company Briup Technology Inc,.(Shanghai)
 * @date JUL 2, 2008 2:19:43 PM
 */
public class LogImpl implements Log {
	private static Log log;
	private Logger logger = null; // 用来记录日志
	private Appender fileAppender = null; // 输出到文件中
	private Appender consoleAppender = null; // 输出到控制台

	private LogImpl(Properties props) {
		// 获取日级别
		String level = props.getProperty("level");

		// 获取输出日志文件的路径
		String filePath = props.getProperty("log_file_path");

		// 实例化logger对象,名字可以任意
		logger = Logger.getLogger("My_Test_Logger");

		// 设置日志级别
		logger.setLevel(Level.toLevel(level));

		// 设置日志的输出格式
		PatternLayout layout = new PatternLayout();
		layout.setConversionPattern("%d{yyyy-MM-dd HH:mm:ss}"
				+ " [%t] %-5p %c  %m\n");
		try {
			fileAppender = new FileAppender(layout, filePath, true);
			// true表示追加日志文件,false覆盖原文件
		} catch (IOException e) {
			e.printStackTrace();
		}
		consoleAppender = new ConsoleAppender(layout);
		logger.addAppender(fileAppender);
		logger.addAppender(consoleAppender);
	}

	public static synchronized Log newInstance(Properties props) {
		if (log == null)
			log = new LogImpl(props);
		return log;
	}

	public void write(String log, int levelGrade) throws LogException {
		int level = levelGrade;
		switch (level) {
		case '0': {
			writeDebug(log);
			break;
		}
		case '1': {
			writeInfo(log);
			break;
		}
		case '2': {
			writeWarn(log);
			break;
		}
		case '3': {
			writeError(log);
			break;
		}
		case '4': {
			writeFatal(log);
			break;
		}
		default:
	        writeInfo("Sorry, Please input appreciate priority!");
		}
	}

	public void writeDebug(String log) {
		logger.debug(log);
	}

	public void writeInfo(String log)  {
		logger.info(log);
	}

	public void writeWarn(String log)  {
		logger.warn(log);
	}

	public void writeError(String log)  {
		logger.error(log);
	}

	public void writeFatal(String log)  {
		logger.fatal(log);
	}
}

⌨️ 快捷键说明

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