修改Flume Log4j Appender
来源:互联网 发布:python 爬虫工作原理 编辑:程序博客网 时间:2024/06/05 05:56
自定义Log4j Appender
要修改Flume Log4j Appender的实现,我们先了解一下Log4j Appender是如何自定义的。
自定义log4j appender需要继承log4j公共的基类:AppenderSkeleton
- 打印日志核心方法:abstract protected void append(LoggingEvent event);
- 初始化加载资源:public void activateOptions(),默认实现为空
- 释放资源:public void close()
- 是否需要按格式输出文本:public boolean requiresLayout()
- 正常情况下我们只需要覆盖append方法即可。然后就可以在log4j中使用了
Demo:
1. import org.apache.log4j.AppenderSkeleton; 2. import org.apache.log4j.spi.LoggingEvent; 3. 4. public class HelloAppender extends AppenderSkeleton { 5. 6. private String account ; 7. 8. @Override 9. protected void append(LoggingEvent event) { 10. System.out.println("Hello, " + account + " : "+ event.getMessage()); 11. } 12. 13. @Override 14. public void close() { 15. // TODO Auto-generated method stub 16. 17. } 18. 19. @Override 20. public boolean requiresLayout() { 21. // TODO Auto-generated method stub 22. return false; 23. } 24. 25. public String getAccount() { 26. return account; 27. } 28. 29. public void setAccount(String account) { 30. this.account = account; 31. } 32. }
1. public static void main(String[] args) { 2. Log log = LogFactory.getLog("helloLog") ; 3. log.info("I am ready.") ; 4. }
log4j.properties 配置
执行main函数,输出结果 Hello, World : I am ready.
修改FLume Log4j Appender
Event Header加入appname,hostname,logtype
由于hostname,logtype是固定不变的。所以直接写死在代码中。appname则用log4j.properties进行配置 – appname在log4j.properties中配置,添加:
- 在Log4jAppender类中添加:
- hostname,logtype在Log4jAppender类中添加
Flume Log4j Appender添加log4j的异常详细信息
由于Flume Log4j Appender并没有将Log4j的错误异常栈详细信息封装到Event中,不利于我们的告警系统分析原因。 Log4jAppender.append()中添加如下:
日志接收端就可以接受到日志的详细信息:
0 0
- 修改Flume Log4j Appender
- 8.Flume Log4J Appender
- 使用Flume Log4j Appender正确的姿势
- 使用Flume Log4j Appender正确的姿势
- [log4j] appender
- log4j-Appender
- flume的log4j appender配置 问题一:flume端接受不到event
- 自定义log4j的Appender
- log4j的各种appender
- Log4j之自定义Appender
- Log4j学习自定义Appender
- Log4j自定义Appender介绍
- Log4j自定义Appender介绍
- log4j appender 配置说明
- log4j之appender
- log4j自定义 appender
- Log4j自定义Appender
- 自定义log4j的appender
- 联想23亿美元收购IBM X86服务器硬件及服务
- cocoStudio UI编辑器 学习总结(转)
- 一个资深程序员看12306
- 小伙伴们,你们知道草根站长论坛的创业神器是什么吗?
- /root/.bashrc与/etc/profile的异同
- 修改Flume Log4j Appender
- 1
- Hadoop常见的45个问题
- Maven仓库汇总
- Spring@Autowired注解与自动装配
- [Linux]ln -s对目录建立符号连接后报错“符号连接层数过多”的解决办法
- leetcode Minimum Depth of Binary Tree 1.11 难度系数1
- 插入排序算法
- 英特尔大败局