在做项目的时候,一般都需要记日志信息。通常我们有个日志文件用来存放日志信息,同时一些重要操作通常会记操作流水存入数据库中的流水表中,如登录,转账,汇款等一些重要操作。日志文件除了可以用来将来解决帮助解决生产问题,同时也能解决一些纠纷问题。
log4j是apache基金会的一个项目,日志记录器(Logger)是日志处理的核心组件,log4j具有7种级别(Level) :ALL,DEBUG,INFO,WARN,ERROR,FATAL,
OFF。日志登记从左到有依次提高。要使用log4j,需要下载log4j的jar包,最好从官网下载,那里面有很多的例子以及配置方法.下载好jar包之后,导入项目中,
然后创建一个log4j.properties文件,里面的配置信息大致如下:
log4j.rootLogger=INFO,A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-5p %d{yyyy-MM-dd HH:mm:ss,SSS} [message] %m%n
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=D:/log.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-5p %d{yyyy-MM-dd HH:mm:ss,SSS} [message] %m%n
INFO就是日志等级,A1,A2就是下面配置的输出目的地,A1就是输出到控制台,A2就是输出到指定文件。通常在项目的开发过程中,我们需要配置日志输出为到控制台,即把上面第一行的配置成:
log4j.rootLogger=INFO,A1
接下来就是在项目中使用了。
public class TestWriteLog{
protected static Logger log=Logger.getLogger(TestWriteLog.class);
public static void main(String[] args) {
PropertyConfigurator pc = new PropertyConfigurator();
pc.configure("log4j.properties");// (其中config是你保存log4j.properties的目录)
log.info("676216 @@@@@ 转了1000元给6554546561256126这个账号");
log.info("73838 @@@@@@ 在上海进行了登录");
}
}
要使用log4j输出日志,第二行代码不可少。读取日志配置,然后就是输出日志了。因为我们配置文件配置的等级为INFO,因此日志输出等级不能低于INFO,假如在代码中使用log.debug("输出日志");那么将无法输出这条日志。
除了日志文件,我们还可以把一些重要的操作存入数据库。在数据库中建一个流水表,把那些操作信息插入数据库,同时输出到日志文件。