SpringMVC使用log4j输出csv文件

1.设置log4j.properties

log4j.rootLogger=ERROR, logfile

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=D:\\DialoguePortal.csv
log4j.appender.logfile.Append=true
log4j.appender.logfile.Encoding=gbk
#log4j.appender.logfile.layout=org.apache.log4j.PatternLayou
log4j.appender.logfile.layout=com.dialogueportal.test.CSVLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm},%m%n
一定要设置gbk,因为中文系统不支持utf-8
log4j.appender.logfile.Encoding=gbk
写入csv的时候,使用英文逗号,分单元格,%n有换行功能,你可能会因为本身字符串带有的逗号而困扰,只需要用String.replace(",",",")英文逗号,换成中文逗号就可以了
如果不需要表头,就使用
log4j.appender.logfile.layout=org.apache.log4j.PatternLayou
需要表头,需要重写patternlayout方法,使用
log4j.appender.logfile.layout=com.dialogueportal.test.CSVLayout
CSVLayout.class代码

/**
 * 
 */
package com.dialogueportal.test;

import org.apache.log4j.PatternLayout;

/**
 * @author intern
 *重写layout加入表头信息
 */
public class CSVLayout extends PatternLayout {

    private static final String HEADER = "TestTime,TestCaseName,TestFileName,TestMethodName,TestParameters,ExpectedValues,ActualValues,TestResult";

    @Override
    public String getHeader() {
        return HEADER + System.getProperty("line.separator");
    }
}

换行:

System.getProperty("line.separator")

要让springMVC框架使用log4j你必须让log4j注入到框架中,采用重写SpringJUnit4ClassRunner.class的方法

代码:

/**
 * 
 */
package com.dialogueportal.test;

import java.io.FileNotFoundException;

import org.junit.runners.model.InitializationError;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.util.Log4jConfigurer;
/**
 * @author intern
 *
 */
public class JUnit4ClassRunner extends SpringJUnit4ClassRunner {
    static {
        try {
          Log4jConfigurer.initLogging("classpath:com/log4j.properties");
        } catch (FileNotFoundException ex) {
          System.err.println("Cannot Initialize log4j");
        }
      }
      public JUnit4ClassRunner(Class<?> clazz) throws InitializationError {
        super(clazz);
      }
    }
你写测试用例的时候就只需要@RunWith(JUnit4ClassRunner.class),这个标签就可以正常运行了,不懂的在下面留言






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值