簡體   English   中英

通過java執行python代碼將登錄信息保存到文件中

[英]Save logs in to a file by executing python code through java

我想通過java執行一個python腳本。 我為此使用了以下示例代碼。 問題是當我通過命令行執行 python 腳本時,它會將日志保存到 log_test.log 文件中。 但是當我從 java 日志執行時沒有寫入日志文件我使用的是 python 3.7 和 java 1.8

Python腳本

import logging

logger = logging.getLogger('log_test')
logger.setLevel(logging.INFO)
fh = logging.FileHandler('log_test.log')
fh.setLevel(logging.INFO)

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

fh.setFormatter(formatter)

logger.addHandler(fh)

logger.info('info message')

Java代碼

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.script.ScriptException;

public class Main {

    public static void main(String[] args) throws ScriptException, IOException {


        Process p = Runtime.getRuntime().exec("python ./log_test.py");

        BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));

        System.out.println("output");
        String s = null;
        while ((s = stdInput.readLine()) != null) {
            System.out.println(s);
        }

    }

}

將 Python 路徑和腳本路徑更改為絕對路徑

並將logging.FileHandler的文件路徑改為絕對路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM