【问题标题】:Is there any way command prompt error logs can be stored somewhere?有什么方法可以将命令提示符错误日志存储在某处?
【发布时间】:2020-05-25 06:11:36
【问题描述】:

我在命令提示符下运行了一个 java jar 文件。假设程序执行失败并出现一些错误,我希望将错误记录在某个地方以便我以后检查。

有什么方法可以实现吗?

【问题讨论】:

    标签: java cmd command-line jar


    【解决方案1】:

    您可以使用命令> output.txt 将命令行输出存储到单独的文件中。

    java -jar application.jar > output.txt
    

    您也可以对 output.txt 使用 location 自定义位置。

    java -jar application.jar > D:\\myfolder\\output.txt
    

    或者您可以创建一个 java 程序来使用 Runtime.getRuntime().exec() 运行外部 jar 应用程序,它可以帮助您操作输出以根据输出显示和执行操作。

    Process myProcess = Runtime.getRuntime().exec("java -jar application.jar");
    
    BufferedReader reader = new BufferedReader(new InputStreamReader(myProcess.getInputStream()));
    
    while ((consoleOutput = reader.readLine()) != null) {
        saveLogs(consoleOutput);
        System.out.println(consoleOutput);
    }
    
    myProcess.waitFor();
    
    InputStream in = myProcess.getInputStream();
    InputStream err = myProcess.getErrorStream();
    
    byte[] b = new byte[in.available()];
    in.read(b, 0, b.length);
    saveLogs(consoleOutput);
    System.out.println(new String(b));
    
    byte[] c = new byte[err.available()];
    err.read(c, 0, c.length);
    saveLogs(consoleOutput);
    System.out.println(new String(c));
    

    使用FileWriter 将控制台输出保存到文件中。

    public void saveLogs(String text) {
        try (FileWriter f = new FileWriter("log\\output.log", true);
                BufferedWriter b = new BufferedWriter(f);
                PrintWriter p = new PrintWriter(b);) {
            p.println(text);
        } catch (IOException ex) {
            logger.error("SAVE_LOGS_ERROR", ex);
        }
    }
    

    【讨论】:

      【解决方案2】:

      我认为 logback 是您正在寻找的 (http://logback.qos.ch/index.html)。 它可以帮助您配置日志级别(信息、调试、错误...)和日志文件的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多