• log4j小结


    核心包:


    org.apache.log4j

    三大组件


    Loggers

    日志操作

    Appenders 

    日志的展现形式

    Layouts

    日志的展现格式


    日志等级


    TRACE
    DEBUG
    INFO
    WARN
    ERROR
    FATAL

    TRACE < DEBUG < INFO < WARN < ERROR < FATAL


    日志请求等级


    logger.debug(Object message) //日志请求等级为:DEBUG
    info(Object message) //日志请求等级为:INFO
    logger.error(Object message) //日志请求等级为:ERROR

    日志请求等级必须>=日志等级,否则请求日志操作无效

    demo:


    ### direct log messages to stdout ###
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
    
    ### direct messages to file myfile.log ###
    log4j.appender.myfile=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.myfile.File=logs/myfile.log
    log4j.appender.myfile.DatePattern='.'yyyy-MM-dd
    log4j.appender.myfile.layout=org.apache.log4j.PatternLayout
    log4j.appender.myfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
    
    log4j.rootLogger=warn, stdout,myfile

    说明:

    log4j.rootLogger=warn, stdout,myfile
    定义主日志工具:rootLogger,其他日志工具能够通过日志名称从它继承
    日志级别:warn
    定义2两个Appender
    stdout:
    	org.apache.log4j.ConsoleAppender
    	相应log4j.appender.stdout及log4j.appender.stdout.layout的配置
    
    myfile:
    	org.apache.log4j.DailyRollingFileAppender
    	相应log4j.appender.myfile及log4j.appender.myfile.layout的配置

    代码:

    public class LogTest {
    	Logger logger=Logger.getLogger("test");
    	@Test
    	public void testLog(){
    		logger.debug("debug...");
    		logger.info("info...");
    		logger.warn("warn...");
    		logger.error("error...");
    		logger.fatal("fatal...");
    	}
    }

    执行结果:

    2014-06-29 05:46:50,805  WARN test:15 - warn...
    2014-06-29 05:46:50,807 ERROR test:16 - error...
    2014-06-29 05:46:50,807 FATAL test:17 - fatal...
    


    日志继承:


    ### direct log messages to stdout ###
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c:%L - %m%n
    
    
    ### direct messages to file myfile.log ###
    log4j.appender.myfile=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.myfile.File=logs/myfile.log
    log4j.appender.myfile.DatePattern='.'yyyy-MM-dd
    log4j.appender.myfile.layout=org.apache.log4j.PatternLayout
    log4j.appender.myfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c:%L - %m%n
    
    
    log4j.rootLogger=warn, stdout,myfile
    
    
    ### name:com.demo,level:info,Appender and layout inherit rootLogger ###
    log4j.logger.com.demo=info
    
    
    
    
    
    
    
    说明:

    log4j.logger.com.demo=info
    日志名称:com.demo
    日志等级为:info
    Appender and layout 继承 rootLogger

    代码:

    package org.log.test;
    
    import static org.junit.Assert.*;
    
    import org.apache.log4j.Logger;
    import org.junit.Test;
    
    
    public class LogTest {
    	Logger logger=Logger.getLogger("com.demo.test");
    	@Test
    	public void testLog(){
    		logger.debug("debug...");
    		logger.info("info...");
    		logger.warn("warn...");
    		logger.error("error...");
    		logger.fatal("fatal...");
    	}
    }
    

    com.demo.test 继承com.demo,通过包名形式的名称来实现

    结果:

    2014-06-29 06:12:13,488  INFO com.demo.test:14 - info...
    2014-06-29 06:12:13,491  WARN com.demo.test:15 - warn...
    2014-06-29 06:12:13,492 ERROR com.demo.test:16 - error...
    2014-06-29 06:12:13,492 FATAL com.demo.test:17 - fatal...
    


  • 相关阅读:
    【typecho】解决使用分隔符 <!--more-->标签后首页文字下面出现一段空白
    真没想到,疫情让我实现了远程办公的夙愿
    程序员周末应该干的8件事
    在Delphi中如何控制其它应用程序窗口
    Delphi 如何操作外部程序的控件(如按钮,文本框,单选按钮等)
    delphi 向其他程序发送模拟按键
    Delphi中如何控制其他程序窗体上的窗口控件
    用Delphi“遥控”按钮
    双系统启动菜单的修改方法
    PureBasic 读取文件中一行的两个数据例子
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7027537.html
Copyright © 2020-2023  润新知