发表于: 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
评论