如何获取实时java执行日志

时间:2014-03-25 23:15:14

标签: java logging log4j2 java.util.logging jenkins-cli

我的应用程序每天构建大量日志。 Java应用程序将这些数据存储到文件中或打开一个新的外部窗口。,我无法进行实时分析。那么可以进行哪些优化以获得实时分析?

2 个答案:

答案 0 :(得分:0)

如何记录到文件而不是控制台?如果使用RollingFileAppender,则可以将log4j配置为每小时或每10分钟创建一个新文件。使用RoutingAppender,您应该能够为非常构建创建一个新文件(例如,参见log4j2 FAQ page)。

答案 1 :(得分:0)

你可以使用log4j或log4j2,只为这里提供基于log4j xml的appender结构的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>