📄 sqltofiledaemon.java
字号:
package com.wireless.sms.gwif.smsagent.workthread;
import java.io.*;
import java.util.*;
import org.apache.log4j.Logger;
import com.wireless.sms.gwif.smsagent.global.*;
public class SqlToFileDaemon {
private StringBuffer sqlBuffer = new StringBuffer();
private int counter = 0;
private int TOTAL = 100; //保存 SQL 语句总条数
private int PERIOD = 60; //周期 单位 分钟
private Logger mtlog = LoggerConstant.mt_log;
public SqlToFileDaemon(int total, int period){
this.TOTAL = total;
this.PERIOD = period;
this.startDaemon();
}
private void startDaemon() {
Timer timer = new Timer(true);
timer.schedule(new TimerTask() {
public void run() {
saveToFile();
}
}
, 5, PERIOD*60*1000);
}
private void saveToFile(){
try{
synchronized (sqlBuffer) {
if (sqlBuffer.length() > 0) {
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("log/" +
System.currentTimeMillis() + ".sql")));
bw.write(sqlBuffer.toString());
sqlBuffer.delete(0, sqlBuffer.length());
counter = 0;
bw.close();
}
}
}
catch(Exception e){
mtlog.error(e.getMessage());
}
}
public void addSql(String sql){
synchronized(sqlBuffer){
sqlBuffer.append(sql + ";\n");
counter++;
if( this.counter > this.TOTAL ){
this.saveToFile();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -