java syslog 自定义,java 日志 自定义过滤

Log4j 深入过滤器

项目清单

0818b9ca8b590ca3270a3433284dd417.png

源码解析

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 管理

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

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

运行效果图

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值