zoukankan      html  css  js  c++  java
  • rest-assured 将log()中的信息打印到log日志中去的方法

    rest-assured 将log()中的信息打印到log日志中去的方法:

     ============方法1==============

    PrintStream fileOutPutStream = new PrintStream(new File("log/test.log"));

    RestAssured.config
    = RestAssured.config().logConfig(new LogConfig(fileOutPutStream, true));

     ============方法2==============

    RestAssured.config = RestAssured.config().logConfig(new LogConfig(new ToLoggerPrintStream(logger).getPrintStream(), true));
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.PrintStream;
    import org.slf4j.Logger;
    
    /**
     * A wrapper class which takes a logger as constructor argument and offers a PrintStream whose flush
     * method writes the written content to the supplied logger (debug level).
     * <p>
     * Usage:<br> 
     * initializing in @BeforeClass of the unit test:
     * <pre>
     *          ToLoggerPrintStream loggerPrintStream = new ToLoggerPrintStream( myLog );
     *          RestAssured.config = RestAssured.config().logConfig(
     *                                 new LogConfig( loggerPrintStream.getPrintStream(), true ) );
     * </pre>
     * will redirect all log outputs of a ValidatableResponse to the supplied logger:
     * <pre>
     *             resp.then().log().all( true );
     * </pre>
     *
     * @version 1.0 (28.10.2015)
     * @author  Heri Bender
     */
    public class ToLoggerPrintStream
    {
        /** Logger for this class */
        private Logger myLog;
        private PrintStream myPrintStream;
    
    /**
     * @return printStream
     */
    public PrintStream getPrintStream()
    {
        if ( myPrintStream == null )
        {
            OutputStream output = new OutputStream()
            {
                private StringBuilder myStringBuilder = new StringBuilder();
    
                @Override
                public void write(int b) throws IOException 
                {
                    this.myStringBuilder.append((char) b );
                }
    
                /**
                 * @see java.io.OutputStream#flush()
                 */
                @Override
                public void flush()
                {
                    myLog.debug( this.myStringBuilder.toString() );
                    myStringBuilder = new StringBuilder();
                }
            };
    
            myPrintStream = new PrintStream( output, true );  // true: autoflush must be set!
        }
    
        return myPrintStream;
    }
    
    /**
     * Constructor
     *
     * @param aLogger
     */
    public ToLoggerPrintStream( Logger aLogger )
    {
        super();
        myLog = aLogger;
    }
  • 相关阅读:
    数据库——数据操作——数据的增删改(8)
    数据库——完整性约束(7)
    数据库——数据类型(6)
    生成代码的代码 之 POJO生成器 之二 模板实现
    生成代码的代码 之 错误代码类生成器
    生成代码的代码 之 POJO生成器
    [翻译] Trident-ML:基于storm的实时在线机器学习库
    Vim实用技巧系列
    基于循环数组的无锁队列
    Vim实用技巧系列
  • 原文地址:https://www.cnblogs.com/zipon/p/6802842.html
Copyright © 2011-2022 走看看