java logging library 입니다.
file에 write 하는 BufferedWriter의 성능을 높이기 위한 tip이 적용되어 있습니다.
config 처리는 sjava-config 코드를 복사해서 패키지 이름만 바꿨습니다. ^^;;
아래 예제는 설정파일과 sjava-logging-1.0.jar를 클래스 패스가 잡힌 위치에 복사를 하시고 돌리시면 됩니다.
예제
package net.sjava.logging.test;
import net.sjava.logging.Logger;
import java.util.Date;
import java.text.SimpleDateFormat;
public class LoggingTest {
private static SimpleDateFormat format = new SimpleDateFormat(“yyyy.MM.dd HH:mm:ss SSS”);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//load();
// add shutdown hook
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
net.sjava.logging.util.BufferedWriterCacheUtility.shutdown();
}
});
System.out.println(“s – ” + format.format(new Date()));
for(int i=0; i < 1000000; i++) {
Logger.getInstance().log(“aaaaaaaaaaaaaaa”);
Logger.getInstance().log(“aaaaaaaaaaaaccccccccccccccccccaaa”);
Logger.getInstance().log(“metoo”, “푸푸푸푸푸박.. “);
Logger.getInstance().log(“abcded”, “abcde”, “aaaa b aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”);
}
System.out.println(“e – ” + format.format(new Date()));
}
}
설정파일
<sjava-logging>
<!– array variable delimeter is “,” –>
<!– do not delete –>
<sjava-service name=”config”>
<key name=”watch” value=”false” /> <!– true, false –>
<key name=”period” value=”60″ /> <!– 60 seconds –>
</sjava-service>
<!– 로그서버 설정 –>
<sjava-service name=”logging”>
<key name=”baseDir” value=”d:\sjava-logging” />
<key name=”serviceDir” value=”default” />
<key name=”fileName” value=”default” />
<key name=”fileExt” value=”log” />
<key name=”bufferSize” value=”1024″ />
<!– dayily(1), hourly(2), minutes(3) –>
<key name=”strategy” value=”2″ />
</sjava-service>
</sjava-logging>
바이너리 & 소스
cfile21.uf.175436194A55461107BB1D.zipcfile1.uf.17538C194A55461100FD89.zip