Как получить журналы выполнения Java в реальном времени

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


person Khalith Basha    schedule 25.03.2014    source источник
comment
Вы имеете в виду ручной анализ? Пожалуйста, уточните свой вопрос, чтобы мы могли вам помочь.   -  person xav    schedule 26.03.2014
comment
Например: я выполняю сборку jenkins CI. В каждой сборке мы можем видеть журналы выполнения, эти журналы отображаются с небольшой задержкой. Мне нужно, чтобы эти журналы генерировались в новом окне без каких-либо задержек (журналы в реальном времени). Живые и фактические журналы из каждой строки выполнения должны регистрироваться в консоли. Всякий раз, когда пользователь запускает сборку, каждое действие должно отслеживаться и создавать журнал.   -  person Khalith Basha    schedule 26.03.2014


Ответы (2)


Как насчет входа в файлы, а не в консоль? Если вы используете RollingFileAppender, вы можете настроить log4j для создания нового файла каждый час или каждые 10 минут. Используя RoutingAppender, вы сможете создать новый файл для самой сборки (см. log4j2 страницу часто задаваемых вопросов в качестве примера).

person Remko Popma    schedule 26.03.2014
comment
как распечатать журналы log4j в cmd. Полный журнал выполнения должен быть в консоли cmd - person Khalith Basha; 26.03.2014
comment
Вы можете просмотреть файл в режиме реального времени в консоли cmd с помощью такого инструмента, как tail. Я не понимаю, как в противном случае Log4j сможет направить свой вывод в несколько окон консоли (каждое из которых является разными процессами). - person Remko Popma; 27.03.2014

вы можете использовать log4j или log4j2, я просто предоставлю xml для log4j на основе xml структуры приложения здесь

<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
    <appender name="NORMAL_LOG_FILE" class="org.apache.log4j.DailyRollingFileAppender">
      <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler" />
      <param name="File" value="C://LOGS/app.log" />
      <param name="Append" value="true" />
      <param name="Threshold" value="INFO" />
      <!-- Rollover at midnight each day -->
      <param name="DatePattern" value="'.'yyyy-MM-dd" />
      <layout class="org.apache.log4j.PatternLayout">
      <!-- The default pattern: Date Priority [Category] Message\n -->
      <param name="ConversionPattern" value="%d %-5p %c{3}:%L %m\n" />
      </layout>
    </appender>
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
      <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler" />
      <param name="Target" value="System.out" />
      <param name="Threshold" value="INFO" />
      <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d %-5p %c{1}:%L %m\n" />
      </layout>
    </appender>

    <logger name="com.test" additivity="false">
      <level value="ALL" />
      <appender-ref ref="CONSOLE" />
      <appender-ref ref="NORMAL_LOG_FILE" />
      <appender-ref ref="ERR_LOG_FILE" />
    </logger>
    <logger name="com.test" additivity="false">
      <level value="INFO" />
      <appender-ref ref="CONSOLE" />
      <appender-ref ref="NORMAL_LOG_FILE" />
      <appender-ref ref="ERR_LOG_FILE" />
    </logger>
    <root>
      <appender-ref ref="CONSOLE" />
      <appender-ref ref="NORMAL_LOG_FILE" />
     </root>

    </log4j:configuration>
person SUBZ    schedule 26.03.2014
comment
вы можете использовать log4j или log4j2, я просто предоставляю xml для структуры добавления log4j на основе xml здесь - person SUBZ; 26.03.2014
comment
как распечатать журналы log4j в cmd. Полный журнал выполнения должен быть в консоли cmd - person Khalith Basha; 26.03.2014
comment
я уже добавил приложение для консоли, если вы запускаете свое приложение в tomcat или любом другом контейнере, вы можете напрямую отслеживать catalina .out - person SUBZ; 27.03.2014
comment
Не могли бы вы предложить мне на хвосте. Я новичок в tomcat. Я запускаю свое приложение в tomcat и могу добавить журнал в файл abc.out. Кроме того, не могли бы вы помочь мне в этом. - person Khalith Basha; 27.03.2014
comment
в log4j укажите путь к журналу в системе на базе Linux перейдите в текущий каталог ...журналов››››››››› ›››››››› затем tail -f catalina.out в системе на основе Windows откройте catalina.out в консоли - person SUBZ; 28.03.2014