태그 보관물: 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