博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 日志 自定义过滤
阅读量:6082 次
发布时间:2019-06-20

本文共 3477 字,大约阅读时间需要 11 分钟。

hot3.png

Log4j 深入过滤器

项目清单

源码解析

package com.lives.platform.common.log;import org.apache.log4j.spi.Filter;import org.apache.log4j.spi.LoggingEvent;public class AccessLogFilter extends Filter{/** * 通过过滤器实现等级配置: * 1.当使用该过滤器时,数据的leve为AccessLog.LOG_LEVEL * 2.log4j.xml中 
下info指的的全局,即别的如果有用日志的地方而不是通过该自定义的filter的等级输出方式 */ @Override public int decide(LoggingEvent event) { int inputLevel = event.getLevel().toInt(); if (inputLevel == AccessLog.LOG_LEVEL) { return 0; } return -1; }}
package com.lives.platform.common.log;import org.apache.log4j.Level;import org.apache.log4j.Logger;import org.apache.log4j.net.SyslogAppender;public class AccessLog {	//自定义了等级,不同于debug、info..等的数值就可以了	public static final int LOG_LEVEL = 20050;    private static class CustomerLogLevel extends Level{  		private static final long serialVersionUID = 1L;		public CustomerLogLevel(int level, String levelStr, int syslogEquivalent) {              super(level, levelStr, syslogEquivalent);          }             }          /**     *   1.LOG_LEVEL 等级值;     *   2."ACCESS" 日志输出的前缀      */        private static final Level CustomerLevel = new CustomerLogLevel(LOG_LEVEL, "ACCESS ", SyslogAppender.LOG_LOCAL0);          /**     * 输出日志     */    public static void log(Logger logger,    		Object info){          logger.log(CustomerLevel, info);      } }
package com.lives.log.test;import org.apache.log4j.Logger;import com.lives.platform.common.log.AccessLog;public class LogTest {public static void main(String[] args) {	Logger logger = Logger.getLogger(LogTest.class);	 AccessLog.log(logger, "request info : " +" logger test ...");}}

log4j.xml 解析

maven-pox.xml 管理

4.0.0
com.lives
lives_platform
war
0.0.1-SNAPSHOT
lives_platform Maven Webapp
http://maven.apache.org
UTF-8
3.1.1.RELEASE
org.slf4j
slf4j-log4j12
1.7.5
dev
dev
true
test
test
prod
prod
lives_platform
org.apache.maven.plugins
maven-compiler-plugin
3.1
1.8
1.8
false
src/main/resources/properties/${package.environment}
WEB-INF/classes
true

运行效果图

转载于:https://my.oschina.net/gaoguofan/blog/753209

你可能感兴趣的文章
中间件笔记
查看>>
RHEL6.4_64安装(最全最细的安装过程)
查看>>
服务器硬件工程师从入门到精通视频教程-RAID篇发布了!
查看>>
colspan 属性
查看>>
zabbix安装
查看>>
replace into 与 select into 的区别
查看>>
当应聘者资历过高时
查看>>
Hyper-V 3 虚拟机快照之二 创建和查看快照
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
静态文件所需
查看>>
一篇文章全面了解监控知识体系
查看>>
部署mongodb做replica set分布式
查看>>
linux如何查看文件夹大小
查看>>
关键字 输入效果和样式
查看>>
用Js的eval解析JSON中的注意点
查看>>
玩转树莓派——升级NOOBS离线安装介质到Raspbian 4.9和Windows 10 IoT C
查看>>
php使用GD库合并简单图片并变动部分颜色
查看>>
【用jersey构建REST服务】系列文章
查看>>
ElasticSearch最新权威指南中文翻译版!
查看>>