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

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

?? consoleappender.java

?? log4j的源碼
?? JAVA
字號:
/* * Copyright 1999-2005 The Apache Software Foundation. *  * 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.apache.log4j;import java.io.IOException;import java.io.OutputStream;import org.apache.log4j.helpers.LogLog;/**  * ConsoleAppender appends log events to <code>System.out</code> or  * <code>System.err</code> using a layout specified by the user. The  * default target is <code>System.out</code>.  *  * @author Ceki G&uuml;lc&uuml;   * @author Curt Arnold  * @since 1.1 */public class ConsoleAppender extends WriterAppender {  public static final String SYSTEM_OUT = "System.out";  public static final String SYSTEM_ERR = "System.err";  protected String target = SYSTEM_OUT;  /**   *  Determines if the appender honors reassignments of System.out   *  or System.err made after configuration.   */  private boolean follow = false;  /**    * Constructs an unconfigured appender.    */  public ConsoleAppender() {  }    /**     * Creates a configured appender.     *     * @param layout layout, may not be null.     */  public ConsoleAppender(Layout layout) {    this(layout, SYSTEM_OUT);  }    /**     *   Creates a configured appender.     * @param layout layout, may not be null.     * @param target target, either "System.err" or "System.out".     */  public ConsoleAppender(Layout layout, String target) {    setLayout(layout);    setTarget(target);    activateOptions();  }  /**   *  Sets the value of the <b>Target</b> option. Recognized values   *  are "System.out" and "System.err". Any other value will be   *  ignored.     * */  public  void setTarget(String value) {    String v = value.trim();    if (SYSTEM_OUT.equalsIgnoreCase(v)) {      target = SYSTEM_OUT;    } else if (SYSTEM_ERR.equalsIgnoreCase(v)) {      target = SYSTEM_ERR;    } else {      targetWarn(value);    }  }  /**   * Returns the current value of the <b>Target</b> property. The   * default value of the option is "System.out".   *   * See also {@link #setTarget}.   * */  public  String getTarget() {    return target;  }    /**   *  Sets whether the appender honors reassignments of System.out   *  or System.err made after configuration.   *  @param newValue if true, appender will use value of System.out or   *  System.err in force at the time when logging events are appended.   *  @since 1.2.13   */  public final void setFollow(final boolean newValue) {     follow = newValue;  }    /**   *  Gets whether the appender honors reassignments of System.out   *  or System.err made after configuration.   *  @return true if appender will use value of System.out or   *  System.err in force at the time when logging events are appended.   *  @since 1.2.13   */  public final boolean getFollow() {      return follow;  }  void targetWarn(String val) {    LogLog.warn("["+val+"] should be System.out or System.err.");    LogLog.warn("Using previously set target, System.out by default.");  }  /**    *   Prepares the appender for use.    */   public void activateOptions() {        if (follow) {            if (target.equals(SYSTEM_ERR)) {               setWriter(createWriter(new SystemErrStream()));            } else {               setWriter(createWriter(new SystemOutStream()));            }        } else {            if (target.equals(SYSTEM_ERR)) {               setWriter(createWriter(System.err));            } else {               setWriter(createWriter(System.out));            }        }        super.activateOptions();  }    /**   *  {@inheritDoc}   */  protected  final  void closeWriter() {     if (follow) {        super.closeWriter();     }  }      /**     * An implementation of OutputStream that redirects to the     * current System.err.     *     */    private static class SystemErrStream extends OutputStream {        public SystemErrStream() {        }        public void close() {        }        public void flush() {            System.err.flush();        }        public void write(final byte[] b) throws IOException {            System.err.write(b);        }        public void write(final byte[] b, final int off, final int len)            throws IOException {            System.err.write(b, off, len);        }        public void write(final int b) throws IOException {            System.err.write(b);        }    }    /**     * An implementation of OutputStream that redirects to the     * current System.out.     *     */    private static class SystemOutStream extends OutputStream {        public SystemOutStream() {        }        public void close() {        }        public void flush() {            System.out.flush();        }        public void write(final byte[] b) throws IOException {            System.out.write(b);        }        public void write(final byte[] b, final int off, final int len)            throws IOException {            System.out.write(b, off, len);        }        public void write(final int b) throws IOException {            System.out.write(b);        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美二区三区91| 精品处破学生在线二十三| 欧美美女一区二区三区| 日韩欧美色电影| 国产午夜精品久久久久久久| 亚洲特黄一级片| 天堂一区二区在线免费观看| 一区二区三区中文在线观看| 国产欧美精品区一区二区三区| 欧美一级久久久| 欧美xxxx老人做受| 日韩欧美色综合| 亚洲精品在线观看视频| 日韩女优av电影| 日韩一区二区在线看| 欧美电影免费观看高清完整版| 51午夜精品国产| 欧美日韩成人在线一区| 欧美丰满一区二区免费视频| 在线观看日韩毛片| 2020国产精品| 精品亚洲aⅴ乱码一区二区三区| 国产精品网站一区| 中文字幕在线免费不卡| 亚洲三级在线免费| 国产精品第一页第二页第三页| 日本一区二区三区电影| 国产欧美一区二区精品性色| 日本一区二区免费在线观看视频| 欧美成人一级视频| 国产欧美一二三区| 亚洲伦理在线免费看| 一级日本不卡的影视| 亚洲一区二区三区不卡国产欧美| 中文字幕不卡在线观看| 亚洲精品成人天堂一二三| 亚洲免费av观看| 舔着乳尖日韩一区| 蜜桃视频在线观看一区二区| 精品国产一区久久| 中文字幕一区二区5566日韩| 日韩免费一区二区| 亚洲国产精品精华液2区45| 亚洲精品伦理在线| 日本一道高清亚洲日美韩| 国产精品久久久久国产精品日日| 日韩欧美一级精品久久| 成人欧美一区二区三区在线播放| 亚洲午夜激情网站| 免费人成精品欧美精品| 成人黄色av电影| 欧美日韩一卡二卡三卡| 精品久久久久久无| 1区2区3区国产精品| 午夜精品123| 国产精品影音先锋| 色综合色综合色综合| 欧美人伦禁忌dvd放荡欲情| 成人av先锋影音| 91精品欧美福利在线观看| 日韩激情av在线| 日韩欧美专区在线| 国产精品一级片| 国产精品久久久久久久蜜臀| 高清成人在线观看| 91麻豆精品国产91久久久更新时间 | 青青草成人在线观看| 色综合久久久久网| 欧美综合一区二区三区| 国产婷婷色一区二区三区| 天天综合网天天综合色| 91久久精品网| 国产人成亚洲第一网站在线播放| 日韩精品一级中文字幕精品视频免费观看| 不卡的电视剧免费网站有什么| 欧美日韩国产首页| 国产精品久久久久久福利一牛影视| 麻豆91在线观看| 日本高清不卡aⅴ免费网站| 亚洲成a人v欧美综合天堂下载| 欧美日韩亚洲综合| 国产精品美女久久久久久| 激情文学综合丁香| 日韩欧美亚洲一区二区| 日本在线观看不卡视频| 在线观看www91| 亚洲精品欧美激情| 在线观看日韩av先锋影音电影院| 中文字幕在线观看不卡| 国产露脸91国语对白| 精品国产电影一区二区| 日日摸夜夜添夜夜添国产精品| 成人精品一区二区三区中文字幕| 欧美日韩黄视频| 91丨porny丨国产入口| 精品国产乱码久久久久久久久 | 91久久精品国产91性色tv| 日本一区二区三区四区| 久久精品国产色蜜蜜麻豆| 欧美va在线播放| 国产一区二区在线观看视频| 久久午夜羞羞影院免费观看| 91久久人澡人人添人人爽欧美| 国产精品麻豆久久久| 国产不卡免费视频| 精品久久人人做人人爱| 欧美手机在线视频| 亚洲国产精品久久人人爱蜜臀| 欧美在线你懂的| 日精品一区二区三区| xvideos.蜜桃一区二区| 岛国一区二区三区| 亚洲猫色日本管| 欧美日韩免费视频| 蜜臀av一区二区在线观看| 欧美一级免费大片| 国产成人日日夜夜| 国产日韩v精品一区二区| zzijzzij亚洲日本少妇熟睡| 亚洲人精品午夜| 欧美视频一区二区在线观看| 日韩国产欧美在线观看| 日韩一二三四区| 国产成人自拍网| 久久一区二区三区四区| 91香蕉视频在线| 国产精品久久久久毛片软件| 欧美一区二区二区| 国内精品免费**视频| 亚洲人被黑人高潮完整版| 欧美日韩精品一区二区三区四区| 欧美日韩激情在线| 奇米影视7777精品一区二区| 久久久久久久精| 亚洲成人手机在线| 欧洲在线/亚洲| 亚洲欧美在线高清| 国产一区二区女| 欧美一区二区啪啪| 狠狠网亚洲精品| 国产亚洲欧美一区在线观看| 成人av网站在线观看免费| 亚洲专区一二三| 精品免费99久久| 不卡欧美aaaaa| 夜夜揉揉日日人人青青一国产精品| 日本精品一区二区三区高清 | 一本大道久久a久久综合| 日韩精品一卡二卡三卡四卡无卡| 日韩精品资源二区在线| 成人黄页毛片网站| 亚洲天堂免费看| 一本大道久久a久久精品综合| 日产国产欧美视频一区精品| 国产欧美日韩在线视频| 56国语精品自产拍在线观看| 国产超碰在线一区| 五月婷婷久久丁香| 久久精品理论片| 国产成人在线视频网址| 欧美激情一区二区三区四区| 26uuu亚洲综合色欧美 | 韩国在线一区二区| 国产成a人亚洲精| 91免费小视频| 欧美日韩国产美| 日韩一区二区三区在线视频| 国产欧美日本一区视频| 亚洲三级视频在线观看| 视频在线观看一区| 国产一区二区女| 色久综合一二码| 日韩一区二区三区免费看| 国产视频一区在线播放| 亚洲精品成人在线| 美女网站色91| 99v久久综合狠狠综合久久| 欧美人与性动xxxx| 中文字幕电影一区| 五月婷婷综合激情| 东方aⅴ免费观看久久av| 欧美中文字幕一区| 精品91自产拍在线观看一区| 亚洲天堂av一区| 久久精品国产精品青草| 成人激情av网| 欧美tk丨vk视频| 亚洲午夜久久久久久久久久久| 激情五月激情综合网| 91黄色激情网站| 久久久亚洲综合| 亚洲成人精品影院| 成人av动漫网站| 日韩精品一区二区三区中文精品 | 久久久亚洲精品石原莉奈| 中文字幕日韩一区| 免费成人美女在线观看| 色婷婷久久一区二区三区麻豆| 久久久高清一区二区三区| 亚洲h在线观看|