0

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

4

2 回答 2

0

u can use log4j or log4j2 am just providing an xml for log4j xml based appender Structure here

<?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>
于 2014-03-26T10:18:53.013 回答
0

记录到文件而不是控制台怎么样?如果您使用 RollingFileAppender,您可以将 log4j 配置为每小时或每 10 分钟创建一个新文件。使用 RoutingAppender,您应该能够为非常构建创建一个新文件(请参阅 log4j2常见问题解答页面以获取示例)。

于 2014-03-26T05:14:39.613 回答