亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? debuggingprintwriter.java

?? dwr 源文件 dwr 源文件 dwr 源文件
?? JAVA
字號:
/*
 * Copyright 2005 Joe Walker
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.directwebremoting.util;

import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;

/**
 * A PrintWriter that also sends its output to a log stream
 * @author Joe Walker [joe at getahead dot ltd dot uk]
 */
public class DebuggingPrintWriter extends PrintWriter
{
    /**
     * Create a new PrintWriter, without automatic line flushing.
     * @param prefix A tag to prefix lines with for debugging purposes
     * @param out A character-output stream
     */
    public DebuggingPrintWriter(String prefix, Writer out)
    {
        super(out, false);
        this.prefix = prefix;
    }

    /**
     * Create a new PrintWriter.
     * @param prefix A tag to prefix lines with for debugging purposes
     * @param out A character-output stream
     * @param autoFlush A boolean; if true, the println() methods will flush the output buffer
     */
    public DebuggingPrintWriter(String prefix, Writer out, boolean autoFlush)
    {
        super(out, autoFlush);
        this.prefix = prefix;
    }

    /**
     * Create a new PrintWriter, without automatic line flushing, from an
     * existing OutputStream.  This convenience constructor creates the
     * necessary intermediate OutputStreamWriter, which will convert characters
     * into bytes using the default character encoding.
     * @param prefix A tag to prefix lines with for debugging purposes
     * @param out An output stream
     * @see java.io.OutputStreamWriter#OutputStreamWriter(java.io.OutputStream)
     */
    public DebuggingPrintWriter(String prefix, OutputStream out)
    {
        super(out, false);
        this.prefix = prefix;
    }

    /**
     * Create a new PrintWriter from an existing OutputStream.  This convenience
     * constructor creates the necessary intermediate OutputStreamWriter, which
     * will convert characters into bytes using the default character encoding.
     * @param prefix A tag to prefix lines with for debugging purposes
     * @param out An output stream
     * @param autoFlush A boolean; if true, the println() methods will flush the output buffer
     * @see java.io.OutputStreamWriter#OutputStreamWriter(java.io.OutputStream)
     */
    public DebuggingPrintWriter(String prefix, OutputStream out, boolean autoFlush)
    {
        super(new BufferedWriter(new OutputStreamWriter(out)), autoFlush);
        this.prefix = prefix;
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(boolean)
     */
    public void print(boolean x)
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(char)
     */
    public void print(char x)
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(int)
     */
    public void print(int x)
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(long)
     */
    public void print(long x)
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(float)
     */
    public void print(float x)
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(double)
     */
    public void print(double x)
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(char[])
     */
    public void print(char x[])
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(java.lang.String)
     */
    public void print(String x)
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#print(java.lang.Object)
     */
    public void print(Object x)
    {
        super.print(x);
        buffer.append(x);
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println()
     */
    public void println()
    {
        synchronized (lock)
        {
            printBuffer();
            super.println();
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(boolean)
     */
    public void println(boolean x)
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(char)
     */
    public void println(char x)
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(int)
     */
    public void println(int x)
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(long)
     */
    public void println(long x)
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(float)
     */
    public void println(float x)
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(double)
     */
    public void println(double x)
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(char[])
     */
    public void println(char x[])
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(java.lang.String)
     */
    public void println(String x)
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /* (non-Javadoc)
     * @see java.io.PrintWriter#println(java.lang.Object)
     */
    public void println(Object x)
    {
        synchronized (lock)
        {
            printBuffer();
            super.println(x);
        }
    }

    /**
     * Write the characters in the print buffer out to the stream
     */
    private void printBuffer()
    {
        if (buffer.length() > 0)
        {
            log.debug(prefix + buffer.toString());
            buffer.setLength(0);
        }
    }

    /**
     * How to we prefix all the debugging lines?
     * @return the prefix
     */
    public String getPrefix()
    {
        return prefix;
    }

    /**
     * How to we prefix all the debugging lines?
     * @param prefix the prefix to set
     */
    public void setPrefix(String prefix)
    {
        this.prefix = prefix;
    }

    /**
     * How to we prefix all the debugging lines?
     */
    private String prefix;

    /**
     * A buffer where we store stuff before a newline
     */
    protected final StringBuffer buffer = new StringBuffer();

    /**
     * The log stream
     */
    private static final Logger log = Logger.getLogger(DebuggingPrintWriter.class);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品电影院| 91精品在线观看入口| 国产精品色眯眯| 97超碰欧美中文字幕| 亚洲美女精品一区| 欧洲视频一区二区| 视频在线在亚洲| 2023国产一二三区日本精品2022| 国产成人综合在线| 中文字幕一区二区三区四区 | 亚洲午夜免费电影| 欧美区一区二区三区| 狠狠色狠狠色综合系列| 亚洲国产成人一区二区三区| 色哟哟欧美精品| 婷婷丁香久久五月婷婷| 久久欧美中文字幕| 99v久久综合狠狠综合久久| 香蕉久久夜色精品国产使用方法 | 日韩中文欧美在线| 久久午夜羞羞影院免费观看| 99久精品国产| 日本成人在线视频网站| 国产精品久久免费看| 精品视频在线看| 国产美女久久久久| 亚洲第一福利一区| 中文无字幕一区二区三区| 在线精品视频小说1| 国产老肥熟一区二区三区| 一区二区三区在线播| 欧美大胆人体bbbb| 欧美影院午夜播放| 成人免费精品视频| 久草在线在线精品观看| 一区二区三区中文字幕在线观看| 精品久久免费看| 欧美性色综合网| 成人高清视频在线观看| 理论片日本一区| 亚洲国产精品久久久久婷婷884 | 91精品国产麻豆国产自产在线| 福利视频网站一区二区三区| 蜜桃视频在线一区| 亚洲一区二区三区四区五区黄| 久久久精品2019中文字幕之3| 777午夜精品免费视频| 91天堂素人约啪| 懂色av一区二区三区免费观看| 免费人成黄页网站在线一区二区 | 69久久99精品久久久久婷婷| 波多野结衣的一区二区三区| 精品一区二区免费| 日韩高清一区在线| 亚洲va国产天堂va久久en| 中文字幕在线不卡一区| 国产亚洲一区二区三区四区| 欧美一区二区三区免费视频 | 久久精品欧美一区二区三区不卡| 在线电影欧美成精品| 精品视频一区二区三区免费| 色综合网站在线| 91看片淫黄大片一级在线观看| 国产成人免费视频一区| 国产在线一区观看| 国产一区二区三区在线观看免费视频 | 成人免费看片app下载| 国产成人午夜片在线观看高清观看| 免费xxxx性欧美18vr| 免费成人在线影院| 蜜臀精品久久久久久蜜臀| 调教+趴+乳夹+国产+精品| 亚洲国产视频一区| 午夜国产精品一区| 亚洲电影一区二区| 日韩激情在线观看| 久久精品国产免费| 国产尤物一区二区在线| 国产精品一二三| 成人黄色一级视频| 91麻豆文化传媒在线观看| 欧洲另类一二三四区| 欧美日韩一区成人| 日韩美女在线视频 | 3atv一区二区三区| 欧美一级在线视频| 久久午夜羞羞影院免费观看| 国产人久久人人人人爽| 中文字幕一区二区视频| 一区二区三区免费在线观看| 亚洲一区av在线| 久久精品国产精品青草| 国产成人午夜高潮毛片| 一本一道综合狠狠老| 欧美老女人第四色| 久久久久久久久久电影| 综合久久给合久久狠狠狠97色 | 久久成人免费电影| 国产69精品一区二区亚洲孕妇| 色综合久久中文综合久久97| 欧美美女直播网站| 久久久欧美精品sm网站| 亚洲欧美视频在线观看视频| 日日摸夜夜添夜夜添精品视频| 精品一区二区三区欧美| www.66久久| 欧美一区二区三区在线观看视频| 久久综合狠狠综合| 亚洲精品免费在线播放| 日韩av一区二区三区四区| 成人中文字幕合集| 欧美精品xxxxbbbb| 中文字幕免费不卡在线| 亚洲成av人综合在线观看| 国产精品1区2区3区| 欧美无砖砖区免费| 久久亚洲综合色一区二区三区| 国产精品对白交换视频 | 91精品国产欧美日韩| 国产精品女同一区二区三区| 天天av天天翘天天综合网| 成人午夜激情在线| 欧美一区二区在线播放| 综合婷婷亚洲小说| 国产精品一色哟哟哟| 精品视频全国免费看| 欧美国产日韩在线观看| 日本人妖一区二区| 91影院在线观看| 久久嫩草精品久久久久| 五月婷婷综合在线| 成人网在线免费视频| 日韩欧美国产1| 亚洲无线码一区二区三区| 成人精品国产免费网站| 日韩欧美国产不卡| 亚洲国产一区视频| 色婷婷av一区二区三区之一色屋| 久久一留热品黄| 美脚の诱脚舐め脚责91| 欧美精选一区二区| 亚洲美女视频在线观看| 成人久久18免费网站麻豆| 欧美电影免费观看完整版| 五月激情综合色| 欧美三级视频在线观看| 一区二区三区欧美视频| 91亚洲精品久久久蜜桃网站| 国产日韩欧美一区二区三区乱码| 精品一区二区三区蜜桃| 91精品国产一区二区三区香蕉| 亚洲黄色av一区| 97精品超碰一区二区三区| 中文字幕精品三区| 成人手机在线视频| 欧美激情综合五月色丁香 | 亚洲精品视频一区二区| 99麻豆久久久国产精品免费| 国产网站一区二区| 高清成人免费视频| 国产精品久久久久久户外露出 | 国产精品视频yy9299一区| 国产精品自拍av| 久久久www成人免费无遮挡大片| 青青草成人在线观看| 欧美一区二区三区四区五区| 午夜精品免费在线观看| 欧美日韩国产高清一区| 偷拍一区二区三区| 日韩亚洲欧美中文三级| 美女视频黄频大全不卡视频在线播放| 欧美日韩不卡在线| 日本成人在线不卡视频| 日韩欧美国产1| 国产馆精品极品| 中文字幕中文字幕中文字幕亚洲无线| 成人av第一页| 亚洲一区影音先锋| 欧美酷刑日本凌虐凌虐| 看电视剧不卡顿的网站| 久久精品视频在线免费观看 | 一区二区三区四区在线| 欧美色网站导航| 蜜臀精品一区二区三区在线观看 | 在线播放国产精品二区一二区四区| 香蕉成人伊视频在线观看| 日韩精品资源二区在线| 国产一区二区电影| 国产欧美日本一区二区三区| eeuss鲁片一区二区三区| 一区二区三区久久久| 欧美一区二区免费| 国产成人免费视频网站高清观看视频 | 91天堂素人约啪| 日韩电影在线一区二区| 久久综合久久综合久久综合| 91亚洲男人天堂| 蜜桃久久久久久久| 国产精品久久久久三级| 欧美丰满高潮xxxx喷水动漫|