Как войти в таблицу в файле журнала с logback? - PullRequest
0 голосов
/ 30 октября 2019

У меня есть проект, который должен напечатать результат на экране в консоли, а также в файл. Я использую весеннюю загрузку с logback. Я могу напечатать результат в виде таблицы на экране, но не в качестве хорошего формата в файле журнала с logback. Любые идеи и предложения приветствуются.

см. Результат вывода ниже.

+------------------+---------------+---------------+--------------+---------------+---------------+--------------+--------------+  
| %-16s | %-13s | %-13s | %-12s | %-13s | %-13s | %-12s | %-12s |%n  
+------------------+---------------+---------------+--------------+---------------+---------------+--------------+--------------+  
| %-16s | %-13s | %-13s | %-12s | %-13s | %-13s | %-12s | %-12s |%n  
| %-16s | %-13s | %-13s | %-12s | %-13s | %-13s | %-12s | %-12s |%n  
| %-16s | %-13s | %-13s | %-12s | %-13s | %-13s | %-12s | %-12s |%n  
| %-16s | %-13s | %-13s | %-12s | %-13s | %-13s | %-12s | %-12s |%n  
| %-16s | %-13s | %-13s | %-12s | %-13s | %-13s | %-12s | %-12s |%n  
| %-16s | %-13s | %-13s | %-12s | %-13s | %-13s | %-12s | %-12s |%n  
+------------------+---------------+---------------+--------------+---------------+---------------+--------------+--------------+ 

Метод печати:

public static void printListAsTable(List<ResultControl> resultcontrolList) {
        String format = "| %-16s | %-13s | %-13s | %-12s | %-13s | %-13s | %-12s | %-12s |%n";
        log("+------------------+---------------+---------------+--------------+---------------+---------------+--------------+--------------+");
        log(format,"Id", "Net", "Mat", "Dat", "Apo", "Nato", "Nano", "Pico");
        log("+------------------+---------------+---------------+--------------+---------------+---------------+--------------+--------------+");
        for (ResultControl result :resultcontrolList ) {
            log(format, result.getId(), result.getNet , result.getMat , result.getDat , result.getApo , result.getNato , result.getNano , result.getPico  );
        }
        log("+------------------+---------------+---------------+--------------+---------------+---------------+--------------+--------------+");
    }



    public static void log(String format, Object... args) {
        System.out.printf(format, args);
        logger.info( format, args);
    }

1 Ответ

0 голосов
/ 06 ноября 2019

Я изменил метод журнала на следующий, и он работает, как я и ожидал.

    public static void log(String format, Object... args) {
        String formatted = String.format(format, args);
        log( formatted);
    }


    public static void log(String message) {
        logger.info(message);
    }
...