java性能监控工具MoSKito学习--一步一步开始工作4

>Configuring LOG4J for MoSKito
MoSKito内嵌支持主流的日志框架,特别是log4j,java.util.logging和对于懒人们使用的System.outs.为了给StatsProducer添加一个日志,下面是需要的步骤:
注意,MoSKito2.3.0用SLF4J取代了LOG4J.
Create a logger创建一个logger.
MoSKito说到两个构建日志者分别是intervalStatsLogger和DefaultStatsLogger。
intervalStatsLogger可以附着在内部,DefaultStatsLogger添加自己到StatsProducer,不能被重置。两者连接区间的IntervalUpdateService并且监视区间更新。只要IntervalUpdate被触发。他们会读取当前自身所在的Producer的状态并且发送到LogOutput.
下面的例子是如何配置和添加一个log4j的logger到任何的生产者:
import org.apache.log4j.Logger;
import net.java.dev.moskito.core.logging.IntervalStatsLogger;
import net.java.dev.moskito.core.logging.DefaultStatsLogger;
import net.java.dev.moskito.core.logging.Log4JOutput;
import net.java.dev.moskito.core.stats.DefaultIntervals;


....
IStatsProducer producer = ...;
// add moskito logger
new DefaultStatsLogger(producer, new Log4JOutput(Logger.getLogger("MoskitoDefault")));
new IntervalStatsLogger(producer, DefaultIntervals.FIVE_MINUTES, new Log4JOutput(Logger.getLogger("Moskito5m")));
new IntervalStatsLogger(producer, DefaultIntervals.FIFTEEN_MINUTES, new Log4JOutput(Logger.getLogger("Moskito15m")));
new IntervalStatsLogger(producer, DefaultIntervals.ONE_HOUR, new Log4JOutput(Logger.getLogger("Moskito1h")));
new IntervalStatsLogger(producer, DefaultIntervals.ONE_DAY, new Log4JOutput(Logger.getLogger("Moskito1d")));
//end moskito logger
Configure Log4J
添加一个log4j到producter只是一半的工作,你依然需要告诉log4j输出到哪儿。
下面的例子是创建日志文件对于每一个区间并记录他们:
Define Appenders
log4j.xml
<!-- MOSKITO APPENDER DECLARATION START -->


<appender name="MoskitoDefaultFileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="logs/monitoring_msk.log" />
    <param name="MaxFileSize" value="100MB" />
    <param name="MaxBackupIndex" value="5" />
    <param name="Threshold" value="INFO" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
            value="%r %d{ISO8601} %m%n"/>
    </layout>
</appender>


<appender name="Moskito5mFileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="logs/monitoring_msk_5m.log" />
    <param name="MaxFileSize" value="100MB" />
    <param name="MaxBackupIndex" value="5" />
    <param name="Threshold" value="INFO" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
            value="%r %d{ISO8601} %m%n"/>
    </layout>
</appender>


<appender name="Moskito15mFileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="logs/monitoring_msk_15m.log" />
    <param name="MaxFileSize" value="100MB" />
    <param name="MaxBackupIndex" value="5" />
    <param name="Threshold" value="DEBUG" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
            value="%r %d{ISO8601} %m%n"/>
    </layout>
</appender>


<appender name="Moskito1hFileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="logs/monitoring_msk_1h.log" />
    <param name="MaxFileSize" value="100MB" />
    <param name="MaxBackupIndex" value="5" />
    <param name="Threshold" value="INFO" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
            value="%r %d{ISO8601} %m%n"/>
    </layout>
</appender>


<appender name="Moskito1dFileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="logs/monitoring_msk_1d.log" />
    <param name="MaxFileSize" value="100MB" />
    <param name="MaxBackupIndex" value="5" />
    <param name="Threshold" value="INFO" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
            value="%r %d{ISO8601} %m%n"/>
    </layout>
</appender>


<!-- /Moskito Appender DECLARATION END -->
Define Logger
log4j.xml
<!-- Moskito LOGGER DECLARATION START -->


<logger name="MoskitoDefault" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="MoskitoDefaultFileAppender"/>
</logger>


<logger name="Moskito5m" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="Moskito5mFileAppender"/>
</logger>


<logger name="Moskito15m" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="Moskito15mFileAppender"/>
</logger>


<logger name="Moskito1h" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="Moskito1hFileAppender"/>
</logger>


<logger name="Moskito1d" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="Moskito1dFileAppender"/>
</logger>


<!-- /Moskito LOGGER DECLARATION END -->
What else you might want to know
>DefaultStatsLogger日志记录每分钟一次。IntervalStatsLogger在区间结束时记录日志。
>日志等级为INFO.
到此Start working, step by step 一步一步开始工作模块就结束了。接下来我们要说的是第三模块:MoSKito-Essential的模块。
----------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值