发表于: 2017-09-27 10:55:50

1 688


今天完成的内容:

(1)学习了解log4j。

log4j——log for java,即java的日志。log4j是一个开源的日志记录组件,其产品已经相当的成熟,且使用非常的广泛。在工程中可以易用,方便等代替了 System.out 等打印语句,它是Java下最流行的日志输入工具,一些著名的开源项目,像spring、hibernate、struts都使用该工具作为日志输入工具,可以帮助调试(有时候debug是发挥不了作用的)和分析。它的目标是:允许开发人员以任意的精细程度控制哪些日志说明被输出。通过使用 外部的配置文件,可以在运行时配置它。通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。最重要的一点,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

Log4j中有三个主要的组件,它们分别是:Logger、Appender、Layout。Logger:Log4j允许开发人员定义多个Logger,每个Logger拥有自己的名字,Logger之间通过名字来表明隶属关系。有一个Logger称为Root,它永远存在且不能通过名字检索或引用,可以通过Logger.getRootLogger()方法获得,其它Logger通过 Logger.getLogger(String name)方法。Appender:Appender则是用来指明将所有的log信息存放到什么地方,一个Logger可以拥有多个Appender,也就是既可以将Log信息输出到屏幕,同时存储到一个文件中。Layout:Layout的作用是控制Log信息的输出方式,也就是格式化输出的信息。Log4j中将要输出的Log信息定义了5种级别,依次为DEBUG、INFO、WARN、ERROR和FATAL,当输出时,只有级别高过配置中规定的级别的信息才能真正的输出,这样就很方便的来配置不同情况下要输出的内容,而不需要更改代码,比如配置输出级别为ERROR,那么程序的日志输出就只有ERROR信息和FATAL信息,而没有INFO信息和DEBUF信息。

写例子试用log4j功能。

pom文件中添加依赖:

<dependency>
 <groupId>org.slf4j</groupId>
 <artifactId>slf4j-api</artifactId>
 <version>1.6.6</version>
</dependency>
<dependency>
 <groupId>org.slf4j</groupId>
 <artifactId>slf4j-log4j12</artifactId>
 <version>1.6.6</version>
</dependency>
<dependency>
 <groupId>log4j</groupId>
 <artifactId>log4j</artifactId>
 <version>1.2.16</version>
</dependency>

输出代码:

package log4j;

import org.apache.log4j.*;


public class TestLog4j {
static Logger logger = Logger.getLogger(TestLog4j.class);
   public static void main(String[] args) throws InterruptedException {
BasicConfigurator.configure();
       logger.setLevel(Level.DEBUG);
       logger.trace("跟踪信息");
       logger.debug("调试信息");
       logger.info("输出信息");
       Thread.sleep(1000);
       logger.warn("警告信息");
       logger.error("错误信息");
       logger.fatal("致命信息");

   }
}

输出结果:

增加配置文件log4j.properties

修改TestLog4j.java

package log4j;

import org.apache.log4j.*;


public class TestLog4j {
static Logger logger = Logger.getLogger(TestLog4j.class);

   public static void main(String[] args) throws InterruptedException {
PropertyConfigurator.configure("/Users/a123/IdeaProjects/log4j1/src/log4j.properties");
       { logger.trace("跟踪信息");
           logger.debug("调试信息");
           logger.info("输出信息");
           logger.warn("警告信息");
           logger.error("错误信息");
           logger.fatal("致命信息");
       }
   }
}

这样就可以在/Users/a123/IdeaProjects/log4j1/找到log。

(2)配置阿里云服务器。

mysql:

jdk:

maven:

明天的计划:学习批量插入。

遇到的问题:配置jdk的时候总是出错,明明是按照步骤来的,最后师兄在他的电脑上帮我配置好,不知道哪里出了问题,或许是系统的问题吧,也可能是因为脸黑。

收获:学会使用ftpr软件。

禅道:http://task.ptteng.com/zentao/task-view-10639.html 



返回列表 返回列表
评论

    分享到