Log4J 做一个简单的日志工具
2007-09-05 22:23
483 查看
Log4J 我相信大部分的Java程序员应该不会很陌生,它对错误的调试,日志的输出,等等都很有帮助,其实自己也完全可以做一个简单的实用的功能齐全的日志工具.下面就把我在开发一个自己的framework的时候做的一个日志类帖出来,希望对大家有所帮助,做的有些粗陋,希望大家不要见笑才是.
当中有我另外一个类,是读取属性文件的,你可以把读取属性文件的部分替换成自己的部分,就可以使用了.
源代码下载:
[Download File]
[Download File]
package com.ginger.framework.log; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.PrintWriter; import java.text.SimpleDateFormat; import com.ginger.framework.properties.Properties; /** * <p> * Title: 日志处理类,这是一个不使用LOG4J的轻量级的处理方法 * </p> * <p> * Description: 日志处理 * </p> * <p> * Copyright: Copyright (c) 2005 * </p> * <p> * Company: GingerSoftware * </p> * * @author <a href="mailto:ginger547@mail.csdn.net">ginger547</a> * @version 1.0 */ public final class Logger { // 全局判断是不是要输出 private static boolean isLog = true; // 使用LOGGER的类的名字 private static String className = "None"; // 是否初始化 public static boolean isInited = false; // 日志 public static PrintWriter logWriter = null; // 日期格式 private static SimpleDateFormat dateFormat = null; /** * 日志初始化 * * @throws Exception */ public static void init() throws Exception { if (isInited) return; try { // 是否在原来的文件上追加 if (Properties.logType.equalsIgnoreCase("Append")) logWriter = new PrintWriter(new BufferedWriter(new FileWriter( Properties.logFile, true)), true); else logWriter = new PrintWriter(new BufferedWriter(new FileWriter( Properties.logFile, false)), true); dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); isInited = true; } catch (Exception e) { System.out.println("logWriter initlizes failure!"); throw e; } } /** * 写日志 * * @param logLevel * 等级 * @param logInfo * log信息 */ private static void log(int logLevel, String logInfo, Class classIn) { // if (!isInited || logLevel <= Properties.logLevel || !isLog) if(!isInited) return; className = classIn.getName(); try { if(logLevel<=Properties.logLevel){ java.sql.Timestamp time = new java.sql.Timestamp(System .currentTimeMillis()); if (logLevel == 1) { logWriter.print("在类" + className + "中产生[错误信息 " + dateFormat.format(time) + "] " + logInfo); // 是否在控制台显示 if (Properties.ScreenLog) System.out.println("在类" + className + "中产生[错误信息 " + dateFormat.format(time) + "] " + logInfo); } else if (logLevel == 2) { logWriter.print("在类" + className + "中产生[一般信息 " + dateFormat.format(time) + "] " + logInfo); if (Properties.ScreenLog) System.out.println("在类" + className + "中产生[一般信息 " + dateFormat.format(time) + "] " + logInfo); } else { logWriter.print("在类" + className + "中产生[详细信息 " + dateFormat.format(time) + "] " + logInfo); if (Properties.ScreenLog) System.out.println("在类" + className + "中产生[详细信息 " + dateFormat.format(time) + "] " + logInfo); } } logWriter.println(); } catch (Exception e) { System.out.println("Write LogFile Faulure [" + e.toString() + "]"); } } /** * 写一般信息 * * @param logInfo * String */ public static void info(String logInfo, Class classIn) { log(2, logInfo, classIn); } /** * 写调试信息 * * @param logInfo * String */ public static void detail(String logInfo, Class classIn) { log(3, logInfo, classIn); } /** * 写错误信息 * * @param logInfo * String */ public static void error(String logInfo, Class classIn) { log(1, logInfo, classIn); } }
当中有我另外一个类,是读取属性文件的,你可以把读取属性文件的部分替换成自己的部分,就可以使用了.
源代码下载:
[Download File]
[Download File]
相关文章推荐
- 代码简单示意:利用log4j将一个类中不同业务日志记录到不同位置
- LogCook 一个简单实用的Android日志管理工具
- 代码简单示意:利用log4j将一个类中不同业务日志记录到不同位置
- 一个简单的日志跟踪工具
- 一个著名的日志系统Log4j
- java日志之log4j简单使用
- Apache通用日志工具commons-logging和Log4j使用总结
- 简单、易用的光盘封装工具-MKISO纪念版(V1.0.2.0)发布日志
- 一个开源,用mongoDB做日志,直接嵌入log4j
- 一个简单、漂亮、功能强大的Android日志程序:logger
- 简介Java 标准日志工具 Log4j 的使用
- 强悍的vbs,很多时候如果只是简单的写一个windows桌面工具,可以优先考虑一下vbs,js什么的。
- WCF后续之旅(13):创建一个简单的SOAP Message拦截、转发工具[下篇]
- log4j实现每个线程保存一个日志文件
- nginx日志简单分析工具
- 写了一个日志工具,出现了写入数据为未知数据的问题
- Apache通用日志工具commons-logging和Log4j使用
- log4j - 日志输出工具 的使用配置简洁实例
- simpletest:一个简单的PHP试工具
- Log4j 日志工具demo以及配置文件实例