`
543089122
  • 浏览: 149867 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java.util.logging包的学习

    博客分类:
  • java
 
阅读更多
package sunfa.lx;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;

/**
 * 此类就算是我在极度无聊之时对JAVA包的学习吧。虽然很多人认为java.util.logging这个包很烂。。。但是
 * 有的时候我们懒得去导log4j包,作为稀烂的轻量级的日志包,有的时候它或许还有那么点存在的价值。 就像
 * 你我他/她们虽然不能为这个世界做啥子贡献,但依然在这个世界上存在着。。。
 */
public class MyLoggerUtilDemo1 {
	public static void main(String[] args) {
		MyLoggerUtil myLogger = new MyLoggerUtil(MyLoggerUtilDemo1.class.getName(),
				"c:\\123.log");
		myLogger.info("输出日志信息");
		// myLogger.info(Level.WARNING,"11大额订单达");
		for (int i = 0; i < 5; i++) {
			myLogger.writeToFile("11:" + i);
		}
		
		//记录异常信息
		try {
			throw new NullPointerException();
		} catch (Exception e) {
			e.printStackTrace();
			myLogger.logException(e);
		}
		try {
			throw new IllegalArgumentException("抛出的异常");
		} catch (Exception e) {
			e.printStackTrace();
			myLogger.logException(e);
		}
	}
}

class MyLoggerUtil extends Formatter {
	private Logger log;
	private String path;
	private SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
			"yyyy-MM-dd HH:mm:ss");

	public MyLoggerUtil(String name, String path) {
		this.log = Logger.getLogger(name);
		this.path = path;
		if (this.path != null && !this.path.equals("")) {
			try {
				FileHandler fileHandler = new FileHandler(path);
				fileHandler.setFormatter(this);
				log.addHandler(fileHandler);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	public void info(Level newLevel, String msg) {
		log.setLevel(newLevel);
		log.info(msg);
	}

	public void info(String msg) {
		log.info(msg);
	}

	public void writeToFile(String msg) {
		log.info(msg);
	}

	@Override
	public String format(LogRecord record) {
		String s = record.getLevel() + ":" + getDateStr(record.getMillis())
		+ "\n\t\t" + record.getMessage()+"\n";
		if(record.getThrown()!=null){
			StackTraceElement[] stack = record.getThrown().getStackTrace();
			for (int i = 0; i < stack.length; i++) {
				s+=stack[i];
			}
		}
		return s ;
	}
	public void logException(Exception e){
		StringWriter trace = new StringWriter();
		e.printStackTrace(new PrintWriter(trace));
		log.info(trace.toString());try {
			trace.close();
		} catch (IOException e1) {
			e1.printStackTrace();
		}
	}
	private String getDateStr(long millis) {
		return simpleDateFormat.format(new Date(millis));
	}
}
分享到:
评论

相关推荐

    java.util.logging.Logger使用详解

    详细介绍了java.util.logging.Logger的用法和结构,对如果扩展Logger起到抛砖引玉的作用!尊重劳动成果,亲下载了要给个评价!

    Java Logger Logging 封装

    Java日志实现。对java.util.logging.Logger的封装,在前人(原文件来自网络)的类上完善了文件的控制,使得日志文件可以重入。

    juli:瘦日志记录包装器,以帮助使用java.util.logging

    通过简化日志记录来加快开发速度, 提高类型安全性以减少错误, 简化单元测试,尤其是使用CDI时, 通过以下方法提高内存和CPU性能: 将阵列初始化和自动装箱推迟到实际需要时, 异步java.util.logging.Handler实现...

    log4j.properties

    log4j.properties ,commons-logging-1.2.jar,log4j-1.2.16.jar,三个文件一起组成一个完整的日志...可以通过配置文件来设定最终使用log4j还是java.util.logging.没有配置log4j的时候,就会调用java.util.logging包。

    splunk-jul:Splunk java.util.logging 格式化程序

    splunk-jul 简单的 java.util.logging 格式化程序将有意义的日志输出为 Splunk 可以本地读取的日志格式 - 无需对 splunk 转发器配置进行任何更改。 如何使用 java.util.logging (JUL... java.util.logging.handlers=ja

    项目源码-java网络五子棋游戏

    【项目源码】-java网络五子棋游戏 ... import java.awt.AlphaComposite;...import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; /** * 登录面板 *

    java.lang.ClassNotFoundException异常的解决1

    java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包 而在 java 6/7 / 8 时关于这个API 都是捆绑在

    java SE API

    java.util.logging java.util.prefs java.util.regex java.util.zip javax.accessibility javax.activity javax.crypto javax.crypto.interfaces javax.crypto.spec javax.imageio javax.imageio.event ...

    JAVA_API1.6文档(中文)

    java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java....

    spring jdbctemplate 封裝

    import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.support....

    Javase-6.0_中文API_HTML(最新更新)

    java.util.logging java.util.prefs java.util.regex java.util.spi java.util.zip javax.accessibility javax.activation javax.activity javax.annotation javax.annotation.processing javax.crypto ...

    几个jar包:org.com、fastjson、httpclient、httpcore、jetty-util

    commons-codec-1.6.jar commons-lang-2.6.jar commons-logging-1.1.1.jar fastjson-1.2.15.jar httpclient-4.2.1.jar httpcore-4.2.1.jar jetty-util-9.3.7.v20160115.jar

    jdk 中文版

    java.util.logging java.util.prefs java.util.regex java.util.spi java.util.zip javax.accessibility javax.activation javax.activity javax.annotation javax.annotation.processing javax.crypto ...

    javafxHtml编辑器.doc

    ava.util.concurrent.atomic java.util.concurrent.locks java.util.function java.util.jar java.util.logging java.util.prefs java.util.regex java.util.spi

    jul-to-slf4j-config:确保将 java.util.logging 重定向到 SLF4J 的配置

    java.util.logging 到 SLF4J 配置打包一个 logging.properties ,它只是将 SLF4JBridgeHandler 注册为唯一的处理程序,有效地将所有 jul 日志语句重定向到 SLF4J。 有关更多详细信息,请参阅 。

    关闭tomca报错t,网络整理

    关闭tomcat报错,网络搜索整理 严重: The web application [/img] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to... To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

    The Java Developers Almanac

    java.security.cert [9 examples] java.sql [73 examples] java.text [26 examples] java.util [50 examples] java.util.jar [5 examples] java.util.logging [20 examples] java.util...

    金蝶BOSV6.1_业务组件API参考手册

    Packages ...com.kingdee.bos.logging.management com.kingdee.bos.management com.kingdee.bos.management.config com.kingdee.bos.management.util com.kingdee.bos.metadata ...com.kingdee.bos.orm.util...

    基于spring boot 日志(logback)报错的解决方式

    记录一次报错解决方法: ...org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'logging.level' to java.util.Map&lt;java.lang.String, java.la

    JavaAPI中文chm文档 part2

    java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java....

Global site tag (gtag.js) - Google Analytics