Tag Archives: sjava

sjava-logging 1.0

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()));
}
}

설정파일

<?xml version=”1.0″ encoding=”utf-8″?>
<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