日志存储到本地FileWrite

package com.alibaba.newcpw.FileOperate;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class FileWrite {

    // 定义path全局路径 原始日志存放路径pathOrigin 错误日志存放路径pathError
    public static String pathOrigin = "/Users/lishan/Desktop/code/newcpw/logHistory/origin_log.txt";
    public static String pathError = "/Users/lishan/Desktop/code/newcpw/logHistory/error_log.txt";
    public static String pathAll = "/Users/lishan/Desktop/code/newcpw/logHistory";

    public static String rex = "&&&&";

    public static void main(String[] args) {
        String content = "a log will be write in file";
        System.out.println(content + "" + "");
        originLog(content + "" + "");
        errorLog(content + "" + "");
    }

    public static void originLog(String content) {

        try {
            // File.separator代表系统目录中的间隔符,说白了就是斜线 '\',不过有时候需要双线,有时候是单线,用这个静态变量就解决兼容问题了。
            File file = new File(pathAll + File.separator + "origin_log.txt");
            if (!file.exists()) {
                file.createNewFile();
            }
            FileWriter fileWriter = new FileWriter(file.getAbsoluteFile(), true);
            BufferedWriter bw = new BufferedWriter(fileWriter);
            bw.write(content + "\r\n");
            bw.close();
            System.out.println("finish");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void errorLog(String content) {

        try {
            // File.separator代表系统目录中的间隔符,说白了就是斜线 '\',不过有时候需要双线,有时候是单线,用这个静态变量就解决兼容问题了。
            File file = new File(pathAll + File.separator + "error_log.txt");
            if (!file.exists()) {
                file.createNewFile();
            }
            FileWriter fileWriter = new FileWriter(file.getAbsoluteFile(), true);
            BufferedWriter bw = new BufferedWriter(fileWriter);
            bw.write("\r\n" + content);
            bw.close();
            System.out.println("finish");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static String getErrorLog(String currentTimeMillis, String clientTimeStamp, int count, String printMsg) {
        String errorLog = "";

        errorLog = currentTimeMillis + FileWrite.rex + clientTimeStamp + FileWrite.rex + count + FileWrite.rex + printMsg;

        return errorLog;
    }

    // 错误日志写入cpw_log_error数据表,暂无clientTimeStamp的日志
    public static String getErrorLogNoclientTimeStamp(String currentTimeMillis, int count, String printMsg, int errorLevel) {
        String errorLogNoclientTimeStamp = "";

//        errorLogNoclientTimeStamp = currentTimeMillis + FileWrite.rex + clientTimeStamp + FileWrite.rex + count + FileWrite.rex +printMsg;
        errorLogNoclientTimeStamp = currentTimeMillis + FileWrite.rex + "暂无clientTimeStamp" + FileWrite.rex + count + FileWrite.rex + printMsg + FileWrite.rex + errorLevel;

        return errorLogNoclientTimeStamp;
    }

    // 错误日志写入cpw_log_error数据表,有clientTimeStamp的日志
    public static String getErrorLogHasclientTimeStamp(String currentTimeMillis, String clientTimeStamp, int count, String printMsg, int errorLevel) {
        String getErrorLogHasclientTimeStamp = "";

//        errorLogNoclientTimeStamp = currentTimeMillis + FileWrite.rex + clientTimeStamp + FileWrite.rex + count + FileWrite.rex +printMsg;
        getErrorLogHasclientTimeStamp = currentTimeMillis + FileWrite.rex + clientTimeStamp + FileWrite.rex + count + FileWrite.rex + printMsg + FileWrite.rex + errorLevel;

        return getErrorLogHasclientTimeStamp;
    }


    // 删除原始origin_log.txt和error_log.txt,防止日志重复写入
    public static void deleteAllLogFile() {

        try {
            // File.separator代表系统目录中的间隔符,说白了就是斜线 '\',不过有时候需要双线,有时候是单线,用这个静态变量就解决兼容问题了。

            // 删除原始日志
            File fileOrigin = new File(pathAll + File.separator + "origin_log.txt");
            if (fileOrigin.exists()) {
                fileOrigin.delete();
            }
            System.out.println("原始日志已删除。delete origin_log.txt file success");

            // 删除错误日志
            File fileError = new File(pathAll + File.separator + "error_log.txt");
            if (fileError.exists()) {
                fileError.delete();
            }

            System.out.println("错误参数断言日志已删除。delete error_log.txt file success");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    // 删除原始origin_log.txt,防止接口重复请求导致日志重复写入
    public static void deleteOriginLogFirstRunFile() {

        try {
            // File.separator代表系统目录中的间隔符,说白了就是斜线 '\',不过有时候需要双线,有时候是单线,用这个静态变量就解决兼容问题了。

            // 删除原始日志
            File fileOrigin = new File(pathAll + File.separator + "origin_log.txt");
            if (fileOrigin.exists()) {
                fileOrigin.delete();
            }
            System.out.println("原始日志已删除。delete origin_log.txt file success");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    // 删除原始error_log.txt,防止接口重复请求导致日志重复写入
    public static void deleteErrorLogFirstRunFile() {

        try {
            // File.separator代表系统目录中的间隔符,说白了就是斜线 '\',不过有时候需要双线,有时候是单线,用这个静态变量就解决兼容问题了。
            // 删除错误日志
            File fileError = new File(pathAll + File.separator + "error_log.txt");
            if (fileError.exists()) {
                fileError.delete();
            }

            System.out.println("错误参数断言日志已删除。delete error_log.txt file success");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    // 删除副本origin_log_copy.txt和error_log_copy.txt
    public static void deleteAllLogCopyFile() {

        try {

            // 删除原始日志副本
            // File.separator代表系统目录中的间隔符,说白了就是斜线 '\',不过有时候需要双线,有时候是单线,用这个静态变量就解决兼容问题了。
            File fileOrigin = new File(pathAll + File.separator + "origin_log_copy.txt");
            if (fileOrigin.exists()) {
                fileOrigin.delete();
            }
            System.out.println("原始日志副本已删除。delete origin_log_copy.txt file ");

            // 删除错误日志副本
            File fileError = new File(pathAll + File.separator + "error_log_copy.txt");
            if (fileError.exists()) {
                fileError.delete();
            }

            System.out.println("错误参数断言日志副本已删除。delete error_log_copy file ");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 

待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方狱兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值