Log4j自定义Appender
Posted The more confused, the more ef
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log4j自定义Appender相关的知识,希望对你有一定的参考价值。
log4j 环境包括三个主要组件:
logger(日志记录器): 控制要启用或者禁用哪些日志记录语句。可以对日志记录器制定如下级别:
ALL、DEBUG、INFO、WARN、ERROR、FATA、OFF。
layout(布局):根据用户的愿望格式化日志记录请求。
appender:向目的地发送格式化的输出。log4j自带了还记中appender如下:
- ConsoleAppender
- FileAppender
- SMTPAppender
- JDBCAppender
- JMSAppender
- NTEventAppender
- SyslogAppender
也可以创建自定义的Appender
******************************************************华丽的分割丰富********************************************************************************
创建自定义的Appender
1. 继承AppenderSkeleton类,实现三个方法(也可以继承已有的Appender,重写某些方法,实现需要的逻辑)
public class SimpleAppender extends AppenderSkeleton { //在log4j.xml中配置需要的属性,此处可以注入 private String developer; @Override protected void append(LoggingEvent loggingEvent) {
//自定义输出什么 System.out.println("=========" + developer + "Test===========" + loggingEvent.getMessage()); } @Override public boolean requiresLayout() {
//是否需要布局,如果返回false,即使log4j.xml配置了layout也不生效。 return false; } @Override public void close() {
//释放资源 this.closed = true; } public String getDeveloper() { return developer; } public void setDeveloper(String developer) { this.developer = developer; }
2.配置log4j.xml
<!--自定义Appender--> <appender name="simpleAppender" class="com.cn.simple.logger.SimpleAppender"> <param name="developer" value="lqw"></param> </appender>
3.执行
logger.info("[springDemo]--------info信息"); logger.warn("[springDemo]--------warn提醒"); logger.error("[springDemo]--------error异常");
4.输出结果
=========lqwTest===========[springDemo]--------info信息 =========lqwTest===========[springDemo]--------warn提醒 =========lqwTest===========[springDemo]--------error异常
参考文档:
http://www.360doc.com/content/16/0121/16/14567867_529569233.shtml
log输出到frame参考:
http://zhangjunhd.blog.51cto.com/113473/48895/
以上是关于Log4j自定义Appender的主要内容,如果未能解决你的问题,请参考以下文章
我的Eclipse插件中找不到自定义log4j appender