Отображение имени родительского процесса регистратора в / var / log / messages - PullRequest
0 голосов
/ 31 марта 2020

Я использую команду logger bash из моего процесса java для записи сообщений в файл / var / log / messages в RHEL7. Вот код:

private ArrayList<String> execCommand(String cmd) throws Exception
{
    ArrayList<String> result = new ArrayList<>();
    try
    {
        Process p = Runtime.getRuntime().exec(cmd);
        BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
        BufferedReader error = new BufferedReader(new InputStreamReader(p.getErrorStream()));
        String str;
        while((str = input.readLine()) != null)
            result.add(str);
        StringBuilder buf = new StringBuilder();
        while((str = error.readLine()) != null)
            buf.append(str).append("\n");
        str = buf.toString();
        if(str.length() != 0)
            throw new Exception(str);
    }
    catch(Exception e)
    {
        SLogger.log(e);
        throw e;
    }
    return result;
}

, и я вызываю этот метод следующим образом:

execCommand("logger my message");

Команда работает нормально, и она печатает сообщение в / var / log / messages . Вот сообщение:

31 марта 12:13:02 dev-rh root: мое сообщение

Но я ожидал, что оно покажет имя процесса java вместо root. Как мне заставить его печатать имя процесса вместо root.

...