`
moxue2459
  • 浏览: 13453 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

log4j 自定义级别

阅读更多

要自定义一个级别,首先我们先来看一下log4j level类的源码:

public class Level extends Priority
  implements Serializable
{
  public static final int TRACE_INT = 5000;
  public static final Level OFF = new Level(2147483647, "OFF", 0);

  public static final Level FATAL = new Level(50000, "FATAL", 0);

  public static final Level ERROR = new Level(40000, "ERROR", 3);

  public static final Level WARN = new Level(30000, "WARN", 4);

  public static final Level INFO = new Level(20000, "INFO", 6);

  public static final Level DEBUG = new Level(10000, "DEBUG", 7);

  public static final Level TRACE = new Level(5000, "TRACE", 7);

}

 

从上面可看出, 数值越大,这个级别也就越高。

如:我们现在定义一个级别在 warn和 error 之间。数值定位:30050。

 

已下是整个类的代码:

public class MailLog {

private static Logger logger = Logger.getLogger(MailLog.class);


private static class SeriousLevel extends Level {

private static final long serialVersionUID = 1076913470822079835L;


private SeriousLevel(int level, String name, int sysLogLevel) {

super(level, name, sysLogLevel);

}

}


private static final Level MAIL_LOG_LEVEL = new SeriousLevel(30050,

"SERIOUS", SyslogAppender.LOG_LOCAL0);


public static void mailLog(Object pm_objLogInfo) {

logger.log(MAIL_LOG_LEVEL, pm_objLogInfo);

logger.debug(pm_objLogInfo);

logger.info(pm_objLogInfo);

}

public static void main(String[] args) {

MailLog log = new MailLog();

log.mailLog("serious ****** ");

}

}

------------------------------ log4j.xml ---------------------------------

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration SYSTEM "../WebRoot/WEB-INF/config/log4j/log4j.dtd">

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="LOG.EMAIL" class="org.apache.log4j.RollingFileAppender">

<param name="File" value="logs/EMAIL_LOG.log" />

<param name="Append" value="true"/>

<param name="MaxFileSize" value="5120KB" />

<param name="MaxBackupIndex" value="10" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" />

</layout>

<filter class="org.apache.log4j.varia.LevelRangeFilter">

<param name="LevelMin" value="info" />

</filter>

</appender>


<root>

<appender-ref ref="LOG.EMAIL" />

</root>

</log4j:configuration>

 

----------------------------------- 结果 -----------------------------------------

 

12-10-08 14:55:51 [SERIOUS] other.log4j.self.MailLog {MailLog.java:28} - serious ****** 

12-10-08 14:55:51 [INFO ] other.log4j.self.MailLog {MailLog.java:30} - serious ****** 

12-10-08 14:55:51 [WARN ] other.log4j.self.MailLog {MailLog.java:31} - serious ****** 

12-10-08 14:55:51 [ERROR] other.log4j.self.MailLog {MailLog.java:32} - serious ****** 

 

--------------------------------------------------------------

 

0
8
分享到:
评论
2 楼 moxue2459 2012-10-09  
放在classpath(src)下
1 楼 Kim_T 2012-10-09  
问一下你log4j.xml是不是放在 WEB-INF下面

相关推荐

    log4j自定义错误级别配置demo

    log4j自定义错误级别配置demo,很不错的例子。网上很难发现,欢迎大家下载学习。

    动态设置log4j的日志级别

    NULL 博文链接:https://zhangguoli1997.iteye.com/blog/545671

    log4j(三):配置文件属性解释、级别、布局、参数设置等

    NULL 博文链接:https://1017401036.iteye.com/blog/2332228

    Log4j按级别输出日志到不同文件的实现方法

    下面小编就为大家带来一篇Log4j按级别输出日志到不同文件的实现方法。

    log4j参考手册

    1 Log4J简介 3 2 Log4J实现 3 2.1 Log4J配置 3 2.2 Log4J的类图 4 2.3 日志级别 4 2.4 配置Logger组件 4 2.5 配置Appender组件 5 2.6 配置Layout组件 6 2.7 日志文件的名称 7 2.8 日志文件的大小 7 2.9 Log4j....

    java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)

    打印日志的在程序中是必不可少的,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender,然后定义每一个Appender的日志级别、打印形式和日志的输出路径,下面看一个示例吧

    Log Viewer(日志查看器)

    Java Log Viewer(日志查看器)能够自定义log表达式,具备的功能包括: 1.可以手动重载日志。这样既可以防止自动跟踪...9.预设对多种格式日志的支持,并且有一个编辑器方便自定义需解析的Log4j日志模式(pattern)。

    Log Viewer日志查看器

    Java Log Viewer(日志查看器)能够自定义log表达式,具备的功能包括: 1.可以手动重载日志。这样既可以防止自动跟踪...9.预设对多种格式日志的支持,并且有一个编辑器方便自定义需解析的Log4j日志模式(pattern)。

    logging:基于Java的log4j库的设计,可在Ruby程序中使用的灵活日志记录库

    日志记录是一个灵活的日志记录库,可根据Java的log4j库的设计在Ruby程序中使用。 它具有分层的日志记录系统,自定义级别名称,每个日志事件多个输出目标,自定义格式等。 安装 gem install logging 例子 本示例将...

    log4j日志文件配置

    通过初始化servlet,在文件里输出你想要的自定义信息,方便的调试功能,输出任意级别的错误.这是个jsp的日志文件配置

    Java进阶课程日志框架视频教程

    -日志课程大纲.xlsx - --day01 --day01资料.zip -- ---代码 ...--17-Log4j的自定义logger.mp4 --18-JCL入门介绍.mp4 --19-JCL原理介绍.mp4 -- ---讲义 -日志技术(上).pdf - --day02 -day02资料.zip -

    Javascript日志输出管理工具Log4Jse.zip

    Log4Jse是一个非常简洁、可定制的Javascript日志输出管理工具,类似Log4J,但是比它简单很多,可以实现自定义日志输出级别、自定义日志输出方式等功能。 示例代码: // Usage: var mylog = Logger.get("app"); mylog...

    logger日志

    Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志...

    java日志框架视频教程

    自定义Logger章节四:JCL1. 快速入门2. 原理解析章节五:Slf4j1. 快速入门2. 绑定日志实现3. 桥接旧日志实现4. 原理解析章节六:Logback1. 快速入门2. 配置文件3. logback-access使用章节七:Log4j21. 快速入门2. ...

    LogLevelsManager-portlet:用于管理门户中日志级别的 portlet

    一般的这个portlet 填补了liferay 中log4j 控制台日志中的空白。 liferay 中的所有自定义日志级别将在重新启动后消失。 如果测试人员在控制台的帮助下工作,自定义日志级别的消失可能是一个问题,因为他们应该再次...

    matlab有些代码不运行-SLF4M:Matlab的简单日志记录框架,建立在SLF4J和Log4j之上

    Log4j配置GUI 该API非常简单,您可以快速启动并运行它,甚至可以在脚本中随意使用它,但是它足够灵活和强大,可以用于较大的系统。 ( dispstr部分是可选的;您无需学习即可使用SLF4M日志记录。) 用法 要安装,请将...

    纯C日志函数库zlog.zip

    事实上,在C的世界里面没有特别好的日志函数库(就像JAVA里面的的log4j,或者C 的log4cxx)。C程序员都喜欢用自己的轮子。printf就是个挺好的轮子,但没办法通过配置改变日志的格式或者输出文件。syslog是个系统...

    java版ss源码-ErRabbit:使用Log4j的远程日志控制台服务器。可视化异常堆栈跟踪日志视图

    Log4j、slf4j(by Plinio Freire) 和 ActiveMQ 收集将使其与其他程序轻松兼容。 介绍幻灯片 有什么区别。 RrRabbit 旨在可视化错误日志 易于集成到现有的 Java 应用程序上。 한국어 설명은 에 있습니다。 结构 Web ...

    java实习报告(7).doc

    Log4j:是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输 送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出...

    springboot学习

    chapter4-2-3:对log4j进行多环境不同日志级别的控制 chapter4-2-4:使用AOP统一处理Web请求日志 chapter4-2-5:使用log4j记录日志到MongoDB chapter4-2-6:Spring Boot 1.5.x新特性:动态修改日志级别] 安全管理 ...

Global site tag (gtag.js) - Google Analytics