您的位置:首页 > 其它

自定义日志输出

2015-06-27 10:49 417 查看
程序中会涉及到日志输出,若要针对一些业务做测试,可以使用以下方法打印:

1. 使用RandomAccessFile输出日志

import java.io.IOException;
import java.io.RandomAccessFile;

public class TestRandomAccessFile {
public static void main(String[] args) throws IOException {
RandomAccessFile rf = new RandomAccessFile("rtest.dat", "rw");
for (int i = 0; i < 10; i++) {
//写入基本类型double数据
rf.writeDouble(i * 1.414);
}
rf.close();
rf = new RandomAccessFile("rtest.dat", "rw");
//直接将文件指针移到第5个double数据后面
rf.seek(5 * 8);
//覆盖第6个double数据
rf.writeDouble(47.0001);
rf.close();
rf = new RandomAccessFile("rtest.dat", "r");
for (int i = 0; i < 10; i++) {
System.out.println("Value " + i + ": " + rf.readDouble());
}
rf.close();
}
} 


2. 使用JAVA的logging日志类进行处理

import java.io.File;
import java.io.IOException;
import java.util.logging.ConsoleHandler;
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;

class DiyLog{
public static Logger log;
static{
log = Logger.getLogger("lavasoft");
log.setLevel(Level.INFO);

ConsoleHandler consoleHandler = new ConsoleHandler();
consoleHandler.setLevel(Level.ALL);
log.addHandler(consoleHandler);
}

private static String LOG_FILE = "C://defaultLog.log";

public DiyLog(){
init("C://testlog.log");
}

public static void init(String logFile){
FileHandler fileHandler = null ;
try {
fileHandler = new FileHandler( logFile );
fileHandler.setLevel(Level.INFO);
fileHandler.setFormatter(new Formatter (){
@Override
public String format(LogRecord record) {
return record.getLevel() + ":" + record.getMessage()+"\n";
}
});
log.addHandler(fileHandler);
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
LOG_FILE = logFile;
}

public static void clear(){
new File(LOG_FILE).delete();
}

public void info(Object str){
log.info(String.valueOf(str));
}
}

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  自定义日志