今天实现一个功能:后台访问各类接口,将接口中的入参、出参、接口名写入一个自定义文件中存到服务器给定的路径中,其中根据日期生成新的文件,文件中根据时间戳进行换行。
package com.example.demo.code.controller;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @author Administrator
*
*/
public class TestServiceImpl {
/**
* 通过输出流的方式复制内容
* @param
* @throws IOException
*/
public static void fastCopy(String src,String dist){
try{
/*获取服务器路径下的文件,若获取不到则自动创建*/
/*true不覆盖已有内容*/
FileOutputStream fileOutputStream = new FileOutputStream(dist,true);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String string = simpleDateFormat.format(new Date());
String string1 = new String();
string1 = string+" "+src;
/*将字符串内容写入到文件中*/
fileOutputStream.write(string1.getBytes());
// 写入一个换行
fileOutputStream.write("\r\n".getBytes());
fileOutputStream.close();
}catch (Exception e){
e.printStackTrace();
}
}
/**
*
*创建日志文件
* @param inParam 入参
* @param outParam 出参
* @param interfaceName 接口名称
*/
public static void createLog(String inParam,String outParam,String interfaceName){
Map map = new HashMap();
map.put("入参",inParam);
map.put("出参",outParam);
map.put("接口名称",interfaceName);
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/*实例化日期用于生成文件名称*/
String fileName = simpleDateFormat2.format(new Date()).replaceAll("-","").replaceAll(" ","").replaceAll(":","").substring(0,8);
/*在相应的路径下创建对应的文件夹*/
String filePath = "D:/image/yingxiang/"+"log"+fileName+".txt";
/*调用读取文件写入内容方法*/
fastCopy(map.toString(),filePath);
}
/**
* 接口调用
*/
public void sendMessage(){
String inParam = "123";
String outParam = "456";
String interfaceName = "sendMessage";
/*调用创建日志文件方法*/
createLog(inParam,outParam,interfaceName);
}
/**
* 主函数
* @param args
*/
public static void main(String[] args){
TestServiceImpl testService = new TestServiceImpl();
testService.sendMessage();
}
}
版权声明:本文为qq_40126996原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。