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