public class LogFile {
private final static String DEFAULT_LOG_NAME = "import";
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static File file = null;
private String className = null;
public LogFile(){
}
public LogFile(Class clas){
className = clas.getName();
}
/**
* 输出info日志到import.log文件
*
* @param logInfo
*/
public void writeInfo(String logInfo) {
String msg = format.format(new Date()) + " " + " -- INFO -- " + logInfo + ".";
FileOutputStream fos;
try {
fos = new FileOutputStream(file.getAbsolutePath(),true);
OutputStreamWriter dis=new OutputStreamWriter(fos);
BufferedWriter bWriter = new BufferedWriter(dis);
bWriter.write(msg);
bWriter.newLine();
bWriter.flush();
bWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void writeError(String logInfo) {
String msg = format.format(new Date()) + " " + " -- ERROR -- " + "Failure:" + logInfo + "!";
FileOutputStream fos;
try {
fos = new FileOutputStream(file.getAbsolutePath(),true);
OutputStreamWriter dis=new OutputStreamWriter(fos);
BufferedWriter bWriter = new BufferedWriter(dis);
bWriter.write(msg);
bWriter.newLine();
bWriter.flush();
// throwable.printStackTrace(new PrintWriter(new FileWriter(file,true),true));
bWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void createLogFile(String basePath) {
File path = new File(basePath);
if (!path.exists()) {
path.mkdir();
}
file = new File(path + "/" + DEFAULT_LOG_NAME + ".log");
if (file.exists()) {
file.delete();
}
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
public static boolean isExist(){
if(file.exists()){
return true;
}else {
return false;
}
}
public static void deleteLogFile(){
if (file.exists()) {
file.delete();
}
}
// public static void main(String[] args) {
// LogFile log = new LogFile();
// String str = null;
// log.createLogFile();
// new LogFile(ImportFromFileAction.class).writeInfo("开始导入文件...");
//
// try {
// throw new NullPointerException();
// } catch (NullPointerException e) {
// new LogFile(ImportFromFileAction.class).writeError("用户编号 不能为空!");
// }
// }
}
分享到:
相关推荐
"VC6简单日志类文件" 提供了一个方便且高效的方式来处理日志记录,尤其适合在Visual C++ 6.0环境下使用。这个日志类设计得简单易用,具有按照日期生成多个日志文件的功能,同时完美支持中文字符,解决了在中文环境下...
一个.h和.cpp文件实现的日志。共4个文件,2个用于windows,2个用于linux。 具有日志文件大小控制(超出另写一个文件),文件数量控制(删除最早的文件),以及日志严重级别设置。格式化与使用printf的方法一样。
一个简单的C++日志类通常会包含以下关键功能: 1. **日志级别**:日志类应支持多种级别,如DEBUG、INFO、WARNING、ERROR和FATAL。这些级别允许开发人员根据需要控制日志输出的详细程度,例如,在生产环境中,可能只...
C++作为一种强大的系统编程语言,虽然没有内置的日志系统,但我们可以自己创建一个简单易用的日志类来满足需求。下面,我们将深入探讨如何实现一个简单的C++日志类,以及它可能包含的关键知识点。 首先,一个基本的...
本模块提供了一个简单的C++日志类,旨在简化日志输出,提高开发效率。我们将详细探讨这个日志类的设计思路、实现方式以及如何在实际项目中应用。 首先,日志类通常包含以下几个核心功能: 1. **日志级别**:日志类...
非常适合新手阅读, 代码量极少, 实现了日志最基本的需求, 有等级控制, 文件控制, 性能足够一般小型项目调试使用, 线程安全, 全局单例, 并有定义了几个宏, 可直接用宏, 使用方式类似于 printf, 支持不定参数
android最简单有效的日志工具类
本项目提供了一个简单的日志工具类,适用于那些不需要复杂日志管理的小型项目。下面将详细介绍这个日志工具类的设计理念、功能以及如何使用。 1. **设计理念** - **简洁易用**:为了满足小项目的需求,这个日志...
描述中提到,该日志类包含了一个VS2013的演示工程,这意味着它已经与Visual Studio 2013兼容,并且提供了一个简单的示例来展示如何使用这个日志类。这个示例程序是一个单个的C++源代码文件,表明其设计尽可能地保持...
首先,`Log.h`文件通常包含类的声明,定义了日志类的接口。这个类可能包含以下几个关键部分: 1. **类定义**:定义一个名为`Log`的类,通常包含私有成员变量来存储日志信息,如日志级别(如DEBUG、INFO、WARN、...
标题提到的是一个简单的日志类,适用于VS2010和VC6.0两个不同的开发环境,这意味着这个日志类具有良好的兼容性,能在较新的Visual Studio版本与较旧的Visual C++版本下正常工作。 日志类通常包含以下几个核心功能:...
本文将详细介绍一个名为"LogCommon.h"的C++日志类,它具有跨平台的特性,可以在Windows和Linux等操作系统上使用,并且使用方法非常简单。 首先,"LogCommon.h"这个文件通常包含了日志类的声明和实现。在C++中,我们...
Logtown是专门为JavaScript开发者设计的一个轻量级日志管理库,它作为一个日志的Facade,提供了统一的日志接口,使得在不同的日志实现之间切换变得容易。在JavaScript开发中,日志记录是不可或缺的一部分,它有助于...
以下是一个简单的日志类实现框架: ```cpp class Logger { public: // 设置日志级别 void setLogLevel(LogLevel level) { logLevel = level; } // 输出日志,根据级别过滤 template void log(LogLevel level...
这个文件通常会定义我们的日志类`Logger`,它可能包含以下几个核心成员: 1. **私有成员变量**:存储日志文件的路径、日志级别(如DEBUG、INFO、WARN、ERROR等)以及是否启用日志输出的标志。 2. **构造函数**:...
C# 日志类,自己写的一个简易类,项目不复杂,够用就行!
本文将深入探讨标题为"一个简单的日志类,可以自由使用"的压缩包内容及其相关的知识点。 首先,这个日志类的目的是提供一个简单易用的日志接口,使得开发者无需过多关注日志的底层实现,而能更专注于业务逻辑。通常...
本文将深入探讨“日志_日志类的简单实现”,特别是针对Windows环境下用C++编写的日志类。 在C++中实现一个简单的日志类,首先需要定义类的结构。这个类通常包含以下几个关键部分: 1. **数据成员**:存储日志信息...
本篇将详细探讨如何实现一个简单的日志类,以满足上述需求。 首先,我们需要定义一个自定义结构体`error_message`,这个结构体通常会包含以下几个关键字段: 1. **出错时间**:记录错误发生的具体时间,一般以Unix...
简单实用的日志类 部分函数: setDebug setLogFile debug info error blankLine oneLine titleLog