通过 log4j,日志信息不仅打印到 console,而且输出到指定文件,根据配置信息;

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

1. startup

  • 如下 demo 所示为使用 logger 的 三种简单方法;

    public class LogTest
    {
        private Logger logger;
    
        @Before
        public void init()
        {
            logger = Logger.getLogger(LogTest.class);
            logger.removeAllAppenders();
            Logger.getRootLogger().removeAllAppenders();
        }
    
    // 使用默认配置
        @Test
        public void testLogCreate()
        {
            BasicConfigurator.configure();
            logger.info("using the default configure");
        }
    
    // 手动构造 Appender
        @Test
        public void testAddAppenderWithStream()
        {
            logger.addAppender(new ConsoleAppender(
                    new PatternLayout("%p %t %m%n"), ConsoleAppender.SYSTEM_OUT
            ));
            logger.info("add appender with stream");
        }
    
    // Appender 的构造中可以不含输出流
        @Test
        public void testAddAppenderWithoutStream()
        {
            logger.addAppender(new ConsoleAppender(
                    new PatternLayout("%p %t %m%n")));
            logger.info("add appender without stream");
        }
    }

2. 注意

  • 注意区别 log4j 下的 Logger 类和 java Logging 下的 Logger 类;
    • import java.util.logging.Logger;
posted on 2018-04-27 22:08  未雨愁眸  阅读(284)  评论(0编辑  收藏  举报