日志记录可结合上一专题的报告共同生成,日志中可记录自动化测试过程中详细日志信息.由日志中可以看到详细的报错时间,报错类,报错行,报错内容.
package ts.dw.logic;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/*
* 日志类
* 当运行遇到错误后会生成一个error的日志文件,方便查找问题
*/
public class ToLog {
static GregorianCalendar time = new GregorianCalendar();
//获取时间
private static final String getToday = time.get(Calendar.YEAR)+"-"+(time.get(Calendar.MONTH)+1)+"-"+time.get(Calendar.DAY_OF_MONTH)+"-"+time.get(Calendar.HOUR_OF_DAY)+time.get(Calendar.MINUTE)+time.get(Calendar.SECOND)+"-";
//日志名称由年月日时分秒组成
private static final String filePath = "log\\"+getToday+"error.log";
//写入文件
public void toLog(String message){
StackTraceElement stack[] = (new Throwable()).getStackTrace();
StackTraceElement s = stack[1];
//获取详细的出错位置
String headerMessage = s.getClassName()+"."+s.getMethodName()+"()"+"★LineNum:"+s.getLineNumber()+"\r\nMessage:";
//时间
headerMessage = addDateTimeHeader(headerMessage);
message = headerMessage + message + "\r\n";
FileWriter fw = null;
File file = null;
//写文件
try{
file = new File(filePath);
fw = new FileWriter(file,true);
fw.write(message);
}catch(IOException ie){
ie.printStackTrace();
}finally{
try{
fw.close();
}catch(IOException ie){
ie.printStackTrace();
}
}
}
//每条日志前加上当前时间
@SuppressWarnings("deprecation")
public String addDateTimeHeader(String headerMessage) {
String dateTimeHeader = new Date().toLocaleString()+"★";
return dateTimeHeader += headerMessage;
}
//测试函数
public static void main(String args[]){
ToLog log = new ToLog();
for(int i=1;i<15;i++){
String message = "这只是测试"+i;
//需要写日志的地方只要如下调用该方法即可~
log.toLog(message);
}
}
}
分享到:
相关推荐
对于所有需要进行日志记录的方法的采用对该方法所在的类进行动态代理的方式处理。在代理方法中的在原有方法的前后新增日志记录,动态代理采用装饰器模式实现通常称为AOP,AOP方面的内容请参阅: ...
在“LOGO日志记录”中,"LOGO"可能是"Logging Object"的缩写,指的是LabVIEW中的一个专门用于日志记录的对象或类。这个对象可能封装了上述日志组件的所有功能,并提供了简洁的接口供开发者使用。 压缩包内的“log...
标题“Kettle运行日志记录”涉及到的是Pentaho Data Integration(Kettle)工具的日志管理功能。Kettle,也称为Spoon,是一款强大的ETL(Extract, Transform, Load)工具,用于数据集成和数据转换任务。日志记录在...
在VB(Visual Basic)编程中,日志记录是一项重要的任务,它可以帮助开发者追踪程序运行时的状态,便于调试和问题排查。本主题将详细介绍如何使用VB来编写简单的日志记录功能,特别是结合ListView控件实现这一功能。...
在LabVIEW中,"logger"通常指的是日志记录功能,用于捕获和存储程序运行时的各种信息,如变量值、错误信息、事件触发等,这对于调试、优化和分析程序行为至关重要。 日志记录在LabVIEW中的实现可以通过自定义VI...
在这个"LabVIEW日志记录实时更新模块.zip"中,我们有两个关键的VI(虚拟仪器):main.vi和updateInfo.vi,它们是实现日志记录功能的核心部分。 1. **main.vi**:这是整个系统的主程序,通常它会负责协调和控制其他...
在Node.js开发中,日志记录是一个至关重要的环节,它帮助开发者追踪应用程序的运行状态、错误信息以及用户行为。Express.js作为Node.js中最流行的Web应用框架,提供了丰富的扩展性,让我们能够轻松定制自己的访问...
在QT框架中添加操作日志记录是软件开发过程中的一个重要环节,这有助于调试、问题排查以及系统监控。本文将详细讲解如何在QT项目中实现这一功能,以本地生成TXT文件的形式记录日志内容。 首先,我们需要理解QT中的...
在编程领域,日志记录是调试、监控和分析软件运行状态的重要工具。Qt是一个流行的C++应用程序开发框架,它提供了一系列内置的日志宏,如`qDebug()`、`qInfo()`、`qWarning()`、`qCritical()`和`qFatal()`,用于方便...
本资源“带日志记录的Delphi功能实现”显然聚焦于如何在Delphi程序中实现日志记录功能,这对于调试、问题排查以及系统监控至关重要。下面将详细介绍这个主题,并围绕相关知识点展开讨论。 日志记录是软件开发中的一...
《日志记录器:ZHN.LogLib的深度解析与应用》 日志记录在软件开发中扮演着至关重要的角色,它能帮助开发者追踪程序运行状态,定位错误源,以及进行性能分析。ZHN.LogLib是一个优秀的、免费的日志记录库,它的出现为...
在VC++编程环境中,日志记录是至关重要的一个环节,它可以帮助开发者跟踪程序运行状态,定位和解决问题。本文将详细探讨“VC日志记录类”的实现及其特点,以`LogFile.cpp`和`LogFile.h`两个文件为核心,我们将深入...
在ASP源码中,"工作日志记录系统 v1.0"是一个专门为追踪和记录工作活动而设计的应用程序。这样的系统对于项目管理、任务监控以及团队协作至关重要,因为它能够帮助用户跟踪工作进度、分配任务、识别瓶颈以及衡量工作...
在IT行业中,多线程日志记录是一项至关重要的任务,特别是在大型系统或高并发环境中,确保日志的正确性和线程安全性是系统稳定运行的基础。本文将深入探讨使用VC++实现多线程日志记录的源码,以及如何保证线程安全。...
在Android开发中,日志记录是一项非常重要的任务,它能够帮助开发者追踪应用程序的运行状态,定位和解决问题。本文将深入探讨如何实现“Android本地日志记录”,包括自动记录崩溃信息、设备信息,以及手动添加自定义...
在.NET开发环境中,日志记录是一项至关重要的任务,它能够帮助开发者追踪应用程序的运行状态,定位和解决问题。本文将深入探讨.NET下的一些日志记录类库,并以"Dingy.Log"为例,介绍如何使用此类库进行日志管理。 ...
故障指示器的日志记录对于维护电网的正常运行和故障排除具有非常重要的作用。从提供的文件内容中,我们可以提炼出以下几点关键知识点: 1. 故障指示器的日志信息类型 日志信息类型包括故障指示器上电、重启记录,...
在移动应用开发中,APP崩溃日志记录及发送邮件是一个重要的功能,它有助于开发者迅速定位并修复应用程序中的错误。当应用程序出现未预期的错误导致崩溃时,系统会自动生成崩溃日志,这些日志包含了发生错误时的详细...
日志记录器日志记录器日志记录器日志记录器日志记录器