Java 线程中记录日志
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
public class ThreadLog
{
private final static String _detailLogFile = "log"+File.separator+"detail";
private static boolean _logFlag = true;
private static HashMap<String, String> _threadDetailFile = new HashMap<String, String>();
private static int _fileIndex = 1;
private static void generateLogFile(String fileName)
{
String absoluteFilePath = ProjectConfig.getNFSCAbsolutePath() +
File.separator + "log" + File.separator +fileName;
_threadDetailFile.put(String.valueOf(Thread.currentThread().getId()) + "_" + fileName,
absoluteFilePath);
File file = new File(absoluteFilePath);
//create a new file
if(!file.exists())
{
try
{
file.createNewFile();
}
catch(IOException ex)
{
ExceptionDefaultHandler.handle(ex, "threadlog.log");
}
}
}
private static void generateLogFile()
{
String fileName = _detailLogFile +
DateTimeUtil.getCurrentDateFormatString("yyyyMMddHHmmss") +"_"+
String.valueOf(_fileIndex++)+ ".log";
String absoluteFilePath = ProjectConfig.getNFSCAbsolutePath() +
File.separator + fileName;
_threadDetailFile.put(String.valueOf(Thread.currentThread().getId()), absoluteFilePath);
File file = new File(absoluteFilePath);
//if the file exist, we have to remove it.
if(file.exists())
{
try
{
file.delete();
}
catch(SecurityException ex)
{
ExceptionDefaultHandler.handle(ex, "threadlog.log");
}
}
//create a new file
try
{
file.createNewFile();
}
catch(IOException ex)
{
ExceptionDefaultHandler.handle(ex, "threadlog.log");
}
}
private static boolean hasThreadLogFile()
{
return _threadDetailFile.containsKey(String.valueOf(Thread.currentThread().getId()));
}
private static boolean hasThreadLogFi
相关文档:
python正文: 和其它语言一样,我们可以以命令行的形式给你的python程序传递参数,pyhton能够自动把命令行参数以字符串列表的形式存储在sys模块的arv变量。ok,我们先来看个例程:
# 文件名: printargs.py
#用途:演示python的传参
import sys
print sys.argv
在命 ......
Java 中给数字左边补0 (1)方法一
import java.text.NumberFormat; public class NumberFormatTest { public static void main(String[] args) {
//待测试数据
int i = 1;
......
JAVA虚拟机有一个字符串池,对于字符串池的访问可以使用字符串对象的intern()方法,可动态向池中添加对象,它的定义如下:
public native String intern();
这是一个本地方法,在调用这个方法时,JAVA虚拟机首先检查字符串池中是否存在与该字符串对象值相等的对象,如果存在就返回字符串池中的对象的引用,否则就新创建一个 ......
Java 开发为什么需要 UML
知道 UML 造成了怎样的局面大混乱吗?知道什么样的功能是 UML 拥有但 JAVA 不具备的吗?知道我们为什么需要除 JAVA 外的另一种电脑语言吗?UML 并不仅仅只是 JAVA 或者其它什么语言的替代品。UML 是面向对象的分析及设计的注释。UML 是独立于那些传统设计语言之外的一种语言。因为 UML ......