sjava-logging 1.0

from sjava project 2009/07/09 10:55
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>

바이너리 & 소스

'sjava project' 카테고리의 다른 글

sjava-config 1.3  (0) 2009/10/23
sjava-logging 1.0 Level  (0) 2009/07/13
sjava-logging 1.0  (0) 2009/07/09
sjava-config 1.2  (0) 2009/07/08
sjava-config 1.1  (0) 2009/07/03