日志log4j

1.异常信息要同时在控制台上输出和文件中保存?如何处理?

  使用log4j解决这个问题,log4j是Apatch提供开源的日志包,log4j可以控制日志信息的输出目的地,也可以控制每一条日志信息的输出格式和日志信息的优先级;通过定义每一条日志信息的级别,能够更加细致的控制日志的生成过程。

A.优先级从高到低:fatal->error->warn->info->debug

B.输出目的地:log4j允许日志请求被输出到多个输出源,一个输出源被称做一个Appender

C.输出格式:PatternLayout灵活地指定布局模式, 配置ConversionPattern属性;

                    HTMLLayout以HTML表格形式布局。

D. 优点:

   可以决定log信息的目的地;

        可以定义每一条日志信息的级别;

        有利于系统的规划。

 

2. 使用log4j记录日志

    1.导入log4j jar包

右键想导入的位置-build path-configure build path-add external JARS-选择log4j jar放置位置-打开即可

或者直接新建lib,复制粘贴进来

    2.建立log4j配置文件

新建一个file,命名log4j.properties,注意:log4j.propertis放在工程根目录

配置信息如下所示,按需修改

###将日志信息输出到控制台###

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}%m%l%p%r%n

###把日志信息输出到文件中###

log4j.appender.file=org.apache.log4j.FileAppender(输出至文件)

log4j.appender.file.File=sysInfo.log(日志文件的名称)

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%m%l%p%r%n(日志信息的格式)

###设置日志的优先级别###

log4j.rootLogger=error,stdout,file

    3. 程序中记录日志

        1. 创建日志记录器,负责记录日志,一般就是类名:

                Logger  l = Logger.getLogger("Log4j");

        2. 使用默认配置

                BasicConfigurator.configure();

                log4j.properties路径默认从项目根路径开始:

                PropertyConfigurator.configure("log4j.properties");

        3.使用日志管理器进行日志记录:例如

            l.debug("我是debug信息");

            l.info("我是info信息");

            l.warn("我是警告信息");

            l.error("错误信息");

            l.fatal("致命信息");

猜你喜欢

转载自blog.csdn.net/hjing123/article/details/80233140