logwriter.java

来自「一个自己做的公司网站和办公职员管理系统。」· Java 代码 · 共 92 行

JAVA
92
字号
package ws.woa.logger;

import java.util.*;
import java.text.*;

/**
 * 儘僌儔僀僞
 *
 * @author Wang
 */
public class LogWriter {

    private LogFilter filter = new LogFilter();

    /**
     * 儘僌傪弌椡偟傑偡丅
     *
     * @param level 儘僌儗儀儖(LogConstants偱掕媊偝傟偰偄傞抣)
     * @param log   弌椡偡傞儘僌
     */
    public void write(int level,String log){
        if(level<LogConstants.REPORT || level>LogConstants.DEBUG){
            throw new IllegalArgumentException();
        }
        filter.write(level,new Date(),Thread.currentThread().hashCode(),log);
    }

    /**
     * REPORT儗儀儖偱儘僌傪弌椡偟傑偡丅
     *
     * @param log 弌椡偡傞儘僌
     */
    public void report(String log){
        write(LogConstants.REPORT,log);
    }

    /**
     * ALERT儗儀儖偱儘僌傪弌椡偟傑偡丅
     *
     * @param log 弌椡偡傞儘僌
     */
    public void alert(String log){
        write(LogConstants.ALART,log);
    }

    /**
     * ERROR儗儀儖偱儘僌傪弌椡偟傑偡丅
     *
     * @param log 弌椡偡傞儘僌
     */
    public void error(String log){
        write(LogConstants.ERROR,log);
    }

    /**
     * DEBUG儗儀儖偱儘僌傪弌椡偟傑偡丅
     *
     * @param log 弌椡偡傞儘僌
     */
    public void debug(String log){
        write(LogConstants.DEBUG,log);
    }

    /**
     * 僔儕傾儔僀僓傪愝掕偟傑偡丅
     *
     * @param serializer 僔儕傾儔僀僓
     */
    void setSerializer(LogSerializer serializer){
        this.filter.setSerializer(serializer);
    }

    /**
     * 僼傿儖僞傪愝掕偟傑偡丅
     *
     * @param filter 僼傿儖僞
     */
    void setFilter(LogFilter filter){
        this.filter = filter;
    }

    /**
     * 儘僌儗儀儖傪愝掕偟傑偡丅
     *
     * @param level 儘僌儗儀儖
     */
    void setLevel(int level){
        this.filter.setLevel(level);
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?