程序运行日志对调试程序很有用,JDK提供日志记录功能,网上很多讲述JDK日志功能的帖子只是代码片段,这里提供一个比较完整的案例,主要是注重几个日志相关的类之互相配合使用的关系。代码比较简单,类的说明在手册里也有,就不解释了。
package Town; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.*; /* * Created with IntelliJ IDEA. * User: cobra * Date: 15-12-3 * Time: 下午4:16 * To change this template use File | Settings | File Templates. */ public class TraceLog { private String LogPath ="E:\\data\\Logs\\lucom\\"; private int logCount = 5; private int LogLimit = 10000000; //指定要写入到任意文件的近似最大量(以字节为单位) 10M private static LogManager logManager = LogManager.getLogManager(); private static Logger InfoLog; private static Logger ErrLog; public TraceLog () { if (logManager.getLogger("LogInfo") == null) { iniInfoLog(); } else { InfoLog = logManager.getLogger("LogInfo"); } if (logManager.getLogger("LogErr") == null) { iniErrLog(); } else { ErrLog = logManager.getLogger("LogErr"); } } //初始化info日志 private void iniInfoLog () { String InfoLogFile = "traceinfo%g.%u.log"; InfoLog = Logger.getLogger("LogInfo"); try { FileHandler InfoFileHandler = new FileHandler(LogPath+InfoLogFile , LogLimit, logCount,true); InfoFileHandler.setLevel(Level.INFO); InfoFileHandler.setFormatter(new Formatter() { @Override public String format(LogRecord record) { return (new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss.SSS]").format(new Date()))+":"+record.getLevel()+":"+record.getMessage()+"\n"; } }); InfoLog.addHandler(InfoFileHandler); logManager.addLogger(InfoLog); } catch (IOException e) { e.printStackTrace(); } } //初始化Err日志 private void iniErrLog () { String ErrLogFile = "traceerr%g.%u.log"; ErrLog = Logger.getLogger("LogErr"); try { FileHandler ErrFileHandler = new FileHandler(LogPath+ErrLogFile , LogLimit,logCount,true); ErrFileHandler.setLevel(Level.WARNING); ErrFileHandler.setFormatter(new Formatter() { @Override public String format(LogRecord record) { return (new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss.SSS]").format(new Date()))+":"+record.getLevel()+":"+record.getMessage()+"\n"; } }); ErrLog.addHandler(ErrFileHandler); logManager.addLogger(ErrLog); } catch (IOException e) { e.printStackTrace(); } } public void logInfo (String LoggingMessage) { InfoLog.info(LoggingMessage); } public void logErr (String LoggingMessage) { ErrLog.warning(LoggingMessage); } }
相关推荐
在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging.Logger` 的实例。可以通过调用 `Logger` 类中的静态方法 `getLogger...
### Java.util.Date与Java.sql.Date相互转换 #### 知识点概述 在Java开发中,经常需要处理日期和时间相关的操作。Java标准库提供了两个重要的日期类:`java.util.Date` 和 `java.sql.Date`。虽然它们名字相似,但...
### 使用 Java.util.zip 包实现数据压缩与解压 在计算机科学领域,数据压缩技术是一项重要的功能,它能够帮助减少存储空间的需求以及提高网络传输效率。本文将通过一系列的示例来详细介绍如何利用 Java 中的 `java....
1. java.util.concurrent - Java 并发工具包 2. 阻塞队列 BlockingQueue 3. 数组阻塞队列 ArrayBlockingQueue 4. 延迟队列 DelayQueue 5. 链阻塞队列 LinkedBlockingQueue 6. 具有优先级的阻塞队列 ...
"java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError" 是一个典型的错误提示,它表明在并发执行过程中遇到了内存不足的问题。下面我们将深入探讨这个问题的原因、影响以及如何解决。 内存溢出...
Java提供日期(Data)类、日历(Calendar)类,随机数(Random)类,堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构
Tomcat默认使用了Java的`java.util.logging`框架,也支持通过Log4j或者Logback等第三方日志框架进行日志处理。在Tomcat的`conf/logging.properties`或`conf/log4j.properties`(取决于所使用的日志框架)文件中,...
这是我在编写struts2中遇到的问题,整理出来,包括截图,希望可以帮到大家
java.util.concurrent总体概览图。 收取资源分3分。需要的同学可以下载一下。 java.util.concurrent主要包括5个部分executor,colletions,locks,atomic,tools。 该图详细的列举了并发包下面的结构,包含所有接口和...
在Java中,java.util.stream.Collectors.toMap()方法是一个非常实用的工具,它允许我们将流(Stream)中的元素收集到一个Map中。这个方法是Collectors类中的一个静态方法,它实现了Collector接口,用于在流的终止...
### Java.util.TimeZone的世界时区列表解析 #### 一、概述 `java.util.TimeZone` 是Java标准库中的一个类,用于表示不同时区的信息。本文档提供了通过`java.util.TimeZone`类导出的世界范围内时区列表。该列表不仅...
Java的java.util.Date类是Java初的时间类之一。该类的大部分方法已不推荐使用,取而代之的是java.util.Calendar类。不过你仍然可以使用java.util.Date类去表示某个时间。下面是一个如何实例化java.util.Date的例子:...
总之,`LoggerUtil`是对`java.util.logging.Logger`的扩展和优化,旨在提供更强大、灵活的日志管理能力。通过封装,我们可以统一管理和控制日志输出,提高代码质量,同时方便问题排查和系统监控。对于大型项目而言,...
jdk源码java.util包,所有类解析,包含整体架构及各个类详解
在Tomcat的`conf`目录下,有一个名为`logging.properties`的文件,它是Java日志系统(java.util.logging)的配置文件。你可以通过修改此文件来定制日志行为。例如,你可以创建一个文件Handler,设置其日志文件大小...
予org.jasig.cas.client.util.CommonUtils 加入 public static void disableSSLVerification(){ try { // Create a trust manager that does not validate certificate chains TrustManager[] ...
在开发基于Axis2的Web服务时,可能会遇到各种错误和异常,其中之一就是与`org.apache.axis2.util.JavaUtils.callStackToString`相关的问题。这个问题通常出现在Axis2尝试获取并打印堆栈跟踪信息时。 `...
java.util.ConcurrentModificationException 解决方法 ... at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$KeyIterator.next(HashMap.java:828) 例如以下程序(转
log4j-1.2.16.jar,三个文件一起组成一个完整的日志输出,Apache的Common Logging只是一个高层的日志框架,本身并没有实现真正的写日志能力,而是依赖其它的日志系统如Log4j或者java本身的java.util.logging。...
总之,Java Swing应用可以通过`java.util.logging`包中的`Logger`类,结合`logging.properties`配置文件或在代码中动态设置,实现对错误日志的记录和管理。这不仅可以帮助开发者调试程序,也是生产环境中监控系统...