`
543089122
  • 浏览: 153175 次
  • 性别: 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中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging...

    Java Logger Logging 封装

    总之,`LoggerUtil`是对`java.util.logging.Logger`的扩展和优化,旨在提供更强大、灵活的日志管理能力。通过封装,我们可以统一管理和控制日志输出,提高代码质量,同时方便问题排查和系统监控。对于大型项目而言,...

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

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

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

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

    log4j.properties

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

    tomcat配置生成的日志文件按照日期新建工具

    例如,如果使用`java.util.logging`,可以在`logging.properties`中设置` handlers`为`java.util.logging.FileHandler`,并定义`pattern`属性为包含日期的格式,如: ```properties handlers = 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常用工具类大全,工作5年精心整理.zip

    5. **`java.util.logging.Logger`**:Java内置的日志系统,用于记录程序运行过程中的信息、警告和错误,便于调试和问题定位。 6. **`java.text.SimpleDateFormat`与`java.time.format.DateTimeFormatter`**:用于...

    Common Logging的jar包.zip

    每个具体的日志框架都有对应的适配器,例如`Log4jLoggerAdapter`对应Log4j,`java.util.logging.LoggerAdapter`对应Java Util Logging。 4. **配置**: Commons Logging的配置通常通过环境变量、系统属性或配置文件...

    java.lang.ClassNotFoundException异常的解决1

    2. **手动添加依赖**:在Java 9及以上版本中,你需要单独引入JAXB API及相关库的JAR包。这包括`javax.activation-1.2.0.jar`,`jaxb-api-2.3.0.jar`,`jaxb-core-2.3.0.jar`和`jaxb-impl-2.3.0.jar`。你可以在Maven...

    Java原生日志工具Logger参考.docx

    java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter ``` Java原生日志工具Logger提供了一个灵活的日志处理机制,允许开发者自定义日志的输出级别、输出目标和格式,并提供了一个默认的...

    java swing用Logger输出错误日志.docx

    handlers= java.util.logging.ConsoleHandler, java.util.logging.FileHandler ``` 在`logging.properties`中,还可以设置日志级别,决定哪些级别的消息会被记录。例如,以下配置将控制台日志级别设为INFO及以上: ...

    28个java常用的工具类

    22. **`java.util.logging.Logger`**: 日志记录工具。 23. **`java.util.concurrent.locks.Lock`** 和 **`java.util.concurrent.locks.ReentrantLock`**: 锁机制,用于线程同步。 24. **`java.util.ArrayList`**: ...

    Tomcat输出catalina.out的大小控制

    handlers = 1/java.util.logging.FileHandler, java.util.logging.ConsoleHandler .FileHandler.level = ALL .FileHandler.pattern = %h/catalina.%u.%g.log .FileHandler.limit = 1000000 .FileHandler.count ...

    java工具类

    12. **`java.util.logging.Logger`**:日志记录工具,用于输出程序运行时的信息。 13. **`java.lang.StringBuilder`/`StringBuffer`**:用于字符串的拼接,比使用`+`操作符更高效。 14. **`java.util.stream....

    JAVA开发常用工具类

    11. **`java.util.logging.Logger`**: 日志记录工具,允许开发者在应用程序中记录信息,方便调试和分析。 12. **`java.util.regex` 包**: 支持正则表达式,提供了`Pattern`和`Matcher`类进行文本模式匹配和查找...

    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....

    最最常用的 100 个 Java类分享

    33. `java.util.logging.Logger`:Logger用于记录应用程序的日志信息。 34. `java.io.UnsupportedEncodingException`:当指定的字符编码不受支持时抛出的异常。 35. `org.junit.Before`:JUnit注解,标记在测试...

    java使用json的必备7个jar包

    在java中使用json需要引入以下六个jar包,分别为: commons-lang-2.4.jar commons-collections-3.2.1.jar commons-beanutils-1.8.3.jar json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar commons-logging-1.1.3.jar ...

Global site tag (gtag.js) - Google Analytics