使用log4j进行日志管理
17.1、Log4j简介
作用:
1、 跟踪代码的运行轨迹。
2、 输出调试信息.
三大组成:
1、 Logger类-生成日志。
2、 Appender类-定义日志输出的目的地。
3、 Layout类-指定日志输出的格式。
17.1.1 Logger组件
日志共分为5种级别,从高到底(从严重到轻微)排序为:
FATAL—严重的错误,可能会导致程序不能正常运行.
ERROR – 错误,影响程序的正常运行。
WARN – 警告,不会影响程序的运行。最好将此问题修正。
INFO – 一般信息。不影响程序的运行。可能是用户的调试信息。可有可无。等同于syserr
DEBUG – 一般的信息。等同于sysout
上面五种级别分别对应以下几个方法 P255
fatal(Object)
error(Object)
warn(Object)
info(Object)
debug(Object)
Trace(跟踪)
当信息大于或是等于配置的级别时才会输出日志。
17.1.2、Appender组件
(仅要求记住两个)
Console – 控制台。org.apache.log4j.ConsoleAppender
File - 文件。 org.apache.log4j.FileAppender , org.apache.log4j.RollingFileAppender
17.1.3、Layout组件
功能是定义日志的输出格式
org.apache.log4j.HTMLLayout
org.apache.log4j.PatternLayout (自定义)
org.apache.log4j.SimpleLayout
对于自定义格式,see page 256 chart 17-1。
%d %p %c %m%n是我经常用的格式,要求记住.
%d – 具体的时间.
%p – 优先级
%c – 信息的输入类
%m%n – 信息文本
17.2、Log4j的基本使用方法
(以下以项目ch16为例)
步1、将log4j.jar文件,Copy到WEB-INF/lib目录下。
(此时发布程序,启动程序,会发出警告信息。信息要求配置log4j.properties文件)
步2、在src目录下(即WEB-INF/classes)建立一个log4j.properties文件
在WEB-INF/classes目录下,为log4j的默认目录。Log4j.properties也是log4j的默认文件名。
步3、书写log4j.properties文件如下:
#####配置根元素
log4j.rootLogger=INFO,file,console
#file的输入地址为文件
log4j.appender.file=org.apache.log4j.RollingFileAppender
#以下是具体的目录
log4j.appender.file.File=d:/a.log
#每个文件的最大大小
log4j.appender.file.MaxFileSize=512KB
#最多可以是多少个文件
log4j.appender.file.MaxBackupIndex=3
#信息的布局格式-按指定的格式打出
log4j.appender.file.layout=org.apache.log4j.PatternLayout
#具体的布局格式 - %d为时间
log4j.appender.file.layout.ConversionPattern=%d %p [%c] %m%n
#以下配置输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p [%c] %m%n
####以下配置自己的类输出日志的信息,即将com.three包下的日志输出到的目录
###同时也会打出到控制台。尽管是没有配置打出到控制台。但依据log4j的继承性,它仍然具体打出的控制台的功能。
log4j.category.com.three=INFO,myFile
log4j.appender.myFile=org.apache.log4j.RollingFileAppender
log4j.appender.myFile.File=d:/b.txt
log4j.appender.myFile.layout=org.apache.log4j.PatternLayout
log4j.appender.myFile.layout.ConversionPattern=%d %p [%c] %m%n
具体的说明,请参考上面以#号注释的部分。
注意上面红体字下面的部分,是书上没有讲的。此部分只配置对com.three包下的类指出日志信息。掌握具体配置的方法。
步4、书写自已的类,并在自己的类中使用日志
package com.three;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* 打出日志信息的类
* @version 1.0,2008-5-4
*/
public class ThreeAction extends Action{
//获取log对像
Logger log = Logger.getLogger(ThreeAction.class);
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse rep){
log.info("Hello...我使用log打出的信息");
return mapping.findForward("success");
使用log4j进行日志管理的更多相关文章
- Spring Boot 整合 slf4j+log4j 实现日志管理
一:首先新建一个jar项目,如下图: 二:添加log4j的依赖,如下pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0 ...
- commons-logging和Log4j 日志管理/log4j.properties配置详解
commons-logging和Log4j 日志管理 (zz) 什么要用日志(Log)? 这个……就不必说了吧. 为什么不用System.out.println()? 功能太弱:不易于控制.如果暂时不 ...
- Spring集成log4j日志管理
原文地址:http://blog.csdn.net/naruto1021/article/details/7969535 在使用Spring框架的时候,我们可以很方便的配置log4j来进行日志管理. ...
- android log4j日志管理的使用
以下为log4j1的日志管理,在android 6.0 一下能正常使用,时候更加高级的胃log4j2,持续跟新 android中的log4j日志文件使用需要两个包,我们不需要进行配置文件的配置,一切都 ...
- springboot日志管理+集成log4j
sprongboot使用的默认日志框架是Logback. 可以在application.properties配置简单日志属性,也可以单独配置logback.xml格式,还可以使用log4j来管理. 下 ...
- 项目log4j日志管理详解
项目log4j日志管理详解 log4j日志系统在项目中重要性在这里就不再累述,我们在平时使用时如果没有特定要求,只需在log4j.properties文件中顶入输出级别就行了.如果要自定义输出文件,对 ...
- Log4j日志管理的简单实例
大型项目中非常多情况下要分析程序的日志信息,怎样管理自己的日志信息至关重要. 在应用程序中加入日志记录总的来说基于三个目的 , 监视代码中变量的变化情况,周期性的记录到文件里供其它应用进行统计分析工作 ...
- Java日志管理:Logger.getLogger()和LogFactory.getLog()的区别(详解Log4j)
Java日志管理:Logger.getLogger()和LogFactory.getLog()的区别(详解Log4j) 博客分类: Java综合 第一.Logger.getLogger()和Log ...
- Java 日志管理最佳实践
转:http://blog.jobbole.com/51155/ 日志记录是应用程序运行中必不可少的一部分.具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源.对于开 ...
随机推荐
- ZooKeeper学习第六期---ZooKeeper机制架构(转)
转载来源:https://www.cnblogs.com/sunddenly/p/4133784.html 一.ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control L ...
- ElasticSearch搜索引擎的入门实战
1.ElasticSearch简介 引用自百度百科: ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elas ...
- .NET开发框架(一)-框架介绍与视频演示
本文主要介绍一套基于.NET CORE的SPA高并发.高可用的开发框架. 我们暂且称它为:(让你懂.NET)开发框架. 以此为主线,陆续编写教程,讲述如何构建高并发.高可用的框架. (欢迎转载与分享) ...
- 跟我学SpringCloud | 第一篇:介绍
首先讲一下我为什么要写这一系列的文章,现在网上大量的springcloud相关的文章,使用的springboot和springcloud的版本都相对比较老,很多还是在使用springboot1.x的版 ...
- Sentinel2A影像监测家乡油菜长势!!
首先当然得为我的家乡打一个广告啊,湖南省衡南县宝盖镇双河口村,非常有名的油菜花种植基地,从下面的图就可以看出来,欢迎各位童鞋前往观光旅游,家乡人民非常nice,非常热情.... 我的老家就住在双河口村 ...
- Hadoop 学习之路(一)—— 分布式文件系统 HDFS
一.介绍 HDFS (Hadoop Distributed File System)是Hadoop下的分布式文件系统,具有高容错.高吞吐量等特性,可以部署在低成本的硬件上. 二.HDFS 设计原理 2 ...
- 浅入深出Vue:事件处理
上一篇的最后留下了一个 v-on的思考,也就是本章的主题:事件处理 为什么需要事件处理 在前端开发中,经常要面对各种表单.按钮.而这里面就住着一个事件:点击 (click). 前端童鞋们肯定不陌生它, ...
- Jenkins的安装与使用(一)
jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java, ...
- Linux htop 使用
引言 一般大家查看进程相关信息常用的命令是 top,之前接触并使用 htop,觉得比较好用,它算是 top 的增强版,这里重新记录下. htop 简介 NAME htop - interactive ...
- 网络下载器 EagleGet v2.0.4.60 Full 绿色便携版
下载地址:点我 基本介绍 EagleGet(亦称 EG Download Accelerator)是一个用于 Windows 系统的下载管理器,它是免费软件.EagleGet 使用多线程技术,支持从Y ...